[INFO] cloning repository https://github.com/bitcraft-dev/ferrum
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/bitcraft-dev/ferrum" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbitcraft-dev%2Fferrum", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbitcraft-dev%2Fferrum'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d0e09bf481a65265a54652ecbc2babb347d93294
[INFO] testing bitcraft-dev/ferrum against try#28f95933dc0727396c07b48d0a8cb5211b7fb472 for pr-154065-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbitcraft-dev%2Fferrum" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/bitcraft-dev/ferrum
[INFO] finished tweaking git repo https://github.com/bitcraft-dev/ferrum
[INFO] tweaked toml for git repo https://github.com/bitcraft-dev/ferrum written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/bitcraft-dev/ferrum on toolchain 28f95933dc0727396c07b48d0a8cb5211b7fb472
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/bitcraft-dev/ferrum already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: compiler/Cargo.toml: only one of `license` or `license-file` is necessary
[INFO] [stderr] `license` should be used if the package license can be expressed with a standard SPDX expression.
[INFO] [stderr] `license-file` should be used if the package uses a non-standard license.
[INFO] [stderr] See https://doc.rust-lang.org/cargo/reference/manifest.html#the-license-and-license-file-fields for more information.
[INFO] [stderr] warning: `ferrum` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2585c3aca9bc9c9de4c5998290c8e1794ffd09168cb5d96b75a378f4f388f6b2
[INFO] running `Command { std: "docker" "start" "-a" "2585c3aca9bc9c9de4c5998290c8e1794ffd09168cb5d96b75a378f4f388f6b2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2585c3aca9bc9c9de4c5998290c8e1794ffd09168cb5d96b75a378f4f388f6b2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2585c3aca9bc9c9de4c5998290c8e1794ffd09168cb5d96b75a378f4f388f6b2", kill_on_drop: false }`
[INFO] [stdout] 2585c3aca9bc9c9de4c5998290c8e1794ffd09168cb5d96b75a378f4f388f6b2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] df0cfcc033201428d55dde383baaf1f11dae766c2a2e235e7b33083a42f6e099
[INFO] running `Command { std: "docker" "start" "-a" "df0cfcc033201428d55dde383baaf1f11dae766c2a2e235e7b33083a42f6e099", kill_on_drop: false }`
[INFO] [stderr] warning: compiler/Cargo.toml: only one of `license` or `license-file` is necessary
[INFO] [stderr] `license` should be used if the package license can be expressed with a standard SPDX expression.
[INFO] [stderr] `license-file` should be used if the package uses a non-standard license.
[INFO] [stderr] See https://doc.rust-lang.org/cargo/reference/manifest.html#the-license-and-license-file-fields for more information.
[INFO] [stderr] warning: `ferrum` (manifest) generated 1 warning
[INFO] [stderr]    Compiling ferrum v0.1.0 (/opt/rustwide/workdir/compiler)
[INFO] [stderr]    Compiling ferrum-runtime v0.1.0 (/opt/rustwide/workdir/runtime)
[INFO] [stderr]    Compiling ferrum-stdlib v0.1.0 (/opt/rustwide/workdir/stdlib)
[INFO] [stdout] warning: unused import: `core::cmp::Ordering`
[INFO] [stdout]   --> stdlib/src/math.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use core::cmp::Ordering;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `#![no_std]` attribute can only be used at the crate root
[INFO] [stdout]   --> stdlib/src/arrays.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | #![no_std]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the crate root is at `stdlib/src/lib.rs`
[INFO] [stdout]    = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `#![no_std]` attribute can only be used at the crate root
[INFO] [stdout]   --> stdlib/src/convert.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | #![no_std]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the crate root is at `stdlib/src/lib.rs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `#![no_std]` attribute can only be used at the crate root
[INFO] [stdout]   --> stdlib/src/format.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | #![no_std]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the crate root is at `stdlib/src/lib.rs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `#![no_std]` attribute can only be used at the crate root
[INFO] [stdout]   --> stdlib/src/math.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | #![no_std]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the crate root is at `stdlib/src/lib.rs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `#![no_std]` attribute can only be used at the crate root
[INFO] [stdout]   --> stdlib/src/strings.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | #![no_std]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the crate root is at `stdlib/src/lib.rs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `#![no_std]` attribute can only be used at the crate root
[INFO] [stdout]   --> runtime/src/traits.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | #![no_std]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the crate root is at `runtime/src/lib.rs`
[INFO] [stdout]    = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LexError` and `LexResult`
[INFO] [stdout]   --> compiler/src/lexer/mod.rs:16:22
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use lexer::{lex, LexError, LexResult};
[INFO] [stdout]    |                      ^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `InterfaceType` and `Qualifier`
[INFO] [stdout]   --> compiler/src/codegen/context.rs:19:57
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::ast::{ConfigSection, ConfigKey, ConfigValue, InterfaceType, Qualifier};
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `length`
[INFO] [stdout]    --> compiler/src/lexer/lexer.rs:372:17
[INFO] [stdout]     |
[INFO] [stdout] 372 |             let length = (self.pos - (start_col as usize - 1)) as u32;
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_length`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> compiler/src/parser/parser.rs:928:13
[INFO] [stdout]     |
[INFO] [stdout] 928 |             t if self.is_known_function_name_lookahead() => {
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to pattern match on the similarly named variant `S`
[INFO] [stdout]     |
[INFO] [stdout] 928 -             t if self.is_known_function_name_lookahead() => {
[INFO] [stdout] 928 +             lexer::token::Token::S if self.is_known_function_name_lookahead() => {
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 928 |             _t if self.is_known_function_name_lookahead() => {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fn_ident`
[INFO] [stdout]    --> compiler/src/semantic/ownership.rs:258:9
[INFO] [stdout]     |
[INFO] [stdout] 258 |         fn_ident: &crate::lexer::token::Ident,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fn_ident`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> compiler/src/codegen/rust_emit.rs:256:33
[INFO] [stdout]     |
[INFO] [stdout] 256 |                     if let Some(size) = v.array_size {
[INFO] [stdout]     |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> compiler/src/codegen/rust_emit.rs:642:17
[INFO] [stdout]     |
[INFO] [stdout] 642 |             let args = self.format_call_args(&stmt.args);
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out_path`
[INFO] [stdout]    --> compiler/src/main.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |     let out_path  = format!("{}_generated.rs", stem);
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_out_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `supports_pull` is never used
[INFO] [stdout]    --> compiler/src/ast/nodes.rs:166:12
[INFO] [stdout]     |
[INFO] [stdout] 144 | impl InterfaceType {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub fn supports_pull(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> compiler/src/ast/nodes.rs:304:9
[INFO] [stdout]     |
[INFO] [stdout] 297 | pub struct Program {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 304 |     pub span:      Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Program` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> compiler/src/ast/nodes.rs:314:9
[INFO] [stdout]     |
[INFO] [stdout] 312 | pub struct ConfigSection {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] 313 |     pub items: Vec<ConfigItem>,
[INFO] [stdout] 314 |     pub span:  Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ConfigSection` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `interface_name` and `disambiguator` are never read
[INFO] [stdout]    --> compiler/src/ast/nodes.rs:426:9
[INFO] [stdout]     |
[INFO] [stdout] 425 | pub struct PinAssignment {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] 426 |     pub interface_name: Option<Ident>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 427 |     pub pin_number:     u32,
[INFO] [stdout] 428 |     pub disambiguator:  Option<Ident>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PinAssignment` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> compiler/src/ast/nodes.rs:550:9
[INFO] [stdout]     |
[INFO] [stdout] 548 | pub struct RunSection {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] 549 |     pub items: Vec<RunItem>,
[INFO] [stdout] 550 |     pub span:  Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RunSection` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> compiler/src/ast/nodes.rs:572:9
[INFO] [stdout]     |
[INFO] [stdout] 568 | pub struct EveryBlock {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 572 |     pub span:   Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EveryBlock` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> compiler/src/ast/nodes.rs:582:9
[INFO] [stdout]     |
[INFO] [stdout] 578 | pub struct TopIfBlock {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 582 |     pub span:       Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TopIfBlock` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> compiler/src/ast/nodes.rs:590:9
[INFO] [stdout]     |
[INFO] [stdout] 587 | pub struct LoopBlock {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 590 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LoopBlock` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> compiler/src/ast/nodes.rs:598:9
[INFO] [stdout]     |
[INFO] [stdout] 595 | pub struct Duration {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 598 |     pub span:  Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Duration` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> compiler/src/ast/nodes.rs:619:9
[INFO] [stdout]     |
[INFO] [stdout] 617 | pub struct Statement {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] 618 |     pub kind: StmtKind,
[INFO] [stdout] 619 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Statement` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> compiler/src/ast/nodes.rs:676:9
[INFO] [stdout]     |
[INFO] [stdout] 674 | pub struct PrintStmt {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] 675 |     pub value: Expr,
[INFO] [stdout] 676 |     pub span:  Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PrintStmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> compiler/src/ast/nodes.rs:701:9
[INFO] [stdout]     |
[INFO] [stdout] 696 | pub struct IfStmt {
[INFO] [stdout]     |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 701 |     pub span:      Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `IfStmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> compiler/src/ast/nodes.rs:720:9
[INFO] [stdout]     |
[INFO] [stdout] 716 | pub struct ForStmt {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 720 |     pub span:     Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ForStmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AstVisitor` is never used
[INFO] [stdout]    --> compiler/src/ast/nodes.rs:903:11
[INFO] [stdout]     |
[INFO] [stdout] 903 | pub trait AstVisitor {
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_keyword` is never used
[INFO] [stdout]    --> compiler/src/lexer/token.rs:295:12
[INFO] [stdout]     |
[INFO] [stdout] 291 | impl Token {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 295 |     pub fn is_keyword(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `errors` and `warnings` are never used
[INFO] [stdout]   --> compiler/src/semantic/mod.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl SemanticResult {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn errors(&self) -> Vec<&Diagnostic> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn warnings(&self) -> Vec<&Diagnostic> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `qualifier`, `interface`, and `valid_interfaces` are never read
[INFO] [stdout]   --> compiler/src/semantic/diagnostic.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 84 |     InvalidQualifier {
[INFO] [stdout]    |     ---------------- fields in this variant
[INFO] [stdout] 85 |         qualifier:        String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 86 |         interface:        String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 87 |         valid_interfaces: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `pin`, `first_used_by`, and `first_used_at` are never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:98:9
[INFO] [stdout]     |
[INFO] [stdout]  97 |     DuplicatePinAssignment {
[INFO] [stdout]     |     ---------------------- fields in this variant
[INFO] [stdout]  98 |         pin:              u32,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]  99 |         first_used_by:    String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 100 |         first_used_at:    Span,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `interface` is never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:105:9
[INFO] [stdout]     |
[INFO] [stdout] 104 |     InitOnReadOnlyInterface {
[INFO] [stdout]     |     ----------------------- field in this variant
[INFO] [stdout] 105 |         interface: String,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `interface` is never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |     PullOnNonInput {
[INFO] [stdout]     |     -------------- field in this variant
[INFO] [stdout] 110 |         interface: String,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device`, `expected`, and `found` are never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |     PartialInit {
[INFO] [stdout]     |     ----------- fields in this variant
[INFO] [stdout] 115 |         device:    String,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 116 |         expected:  usize,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 117 |         found:     usize,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `expected`, `found`, and `context` are never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:122:9
[INFO] [stdout]     |
[INFO] [stdout] 121 |     TypeMismatch {
[INFO] [stdout]     |     ------------ fields in this variant
[INFO] [stdout] 122 |         expected: String,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 123 |         found:    String,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 124 |         context:  String,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `value`, `ty`, `valid_min`, and `valid_max` are never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |     ValueOutOfRange {
[INFO] [stdout]     |     --------------- fields in this variant
[INFO] [stdout] 129 |         value:     String,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 130 |         ty:        String,
[INFO] [stdout]     |         ^^
[INFO] [stdout] 131 |         valid_min: String,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 132 |         valid_max: String,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:137:9
[INFO] [stdout]     |
[INFO] [stdout] 136 |     UndefinedVariable {
[INFO] [stdout]     |     ----------------- field in this variant
[INFO] [stdout] 137 |         name: String,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |     UndefinedFunction {
[INFO] [stdout]     |     ----------------- field in this variant
[INFO] [stdout] 142 |         name: String,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device` and `interfaces` are never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:157:9
[INFO] [stdout]     |
[INFO] [stdout] 156 |     AmbiguousSetTarget {
[INFO] [stdout]     |     ------------------ fields in this variant
[INFO] [stdout] 157 |         device:     String,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 158 |         interfaces: Vec<String>,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `function`, `type_a`, `type_b`, `site_a`, and `site_b` are never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:169:9
[INFO] [stdout]     |
[INFO] [stdout] 168 |     ConflictingReturnTypes {
[INFO] [stdout]     |     ---------------------- fields in this variant
[INFO] [stdout] 169 |         function: String,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 170 |         type_a:   String,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 171 |         type_b:   String,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 172 |         site_a:   Span,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 173 |         site_b:   Span,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `device` is never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:190:9
[INFO] [stdout]     |
[INFO] [stdout] 189 |     ReadPercentOnDigitalInput {
[INFO] [stdout]     |     ------------------------- field in this variant
[INFO] [stdout] 190 |         device: String,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `expression_type` is never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:195:9
[INFO] [stdout]     |
[INFO] [stdout] 194 |     IsOnNonDeviceOrBoolean {
[INFO] [stdout]     |     ---------------------- field in this variant
[INFO] [stdout] 195 |         expression_type: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:205:9
[INFO] [stdout]     |
[INFO] [stdout] 204 |     AssignToConstant {
[INFO] [stdout]     |     ---------------- field in this variant
[INFO] [stdout] 205 |         name: String,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `then_type` and `else_type` are never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:213:9
[INFO] [stdout]     |
[INFO] [stdout] 212 |     InlineIfTypeMismatch {
[INFO] [stdout]     |     -------------------- fields in this variant
[INFO] [stdout] 213 |         then_type: String,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 214 |         else_type: String,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `device` is never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 223 |     OwnershipViolation {
[INFO] [stdout]     |     ------------------ field in this variant
[INFO] [stdout] 224 |         device: String,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `param` is never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:229:9
[INFO] [stdout]     |
[INFO] [stdout] 228 |     WriteToLendParam {
[INFO] [stdout]     |     ---------------- field in this variant
[INFO] [stdout] 229 |         param: String,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `function`, `param`, `expected`, and `found` are never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:234:9
[INFO] [stdout]     |
[INFO] [stdout] 233 |     OwnershipMismatch {
[INFO] [stdout]     |     ----------------- fields in this variant
[INFO] [stdout] 234 |         function:  String,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 235 |         param:     String,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 236 |         expected:  String,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 237 |         found:     String,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device`, `every_at`, and `loop_at` are never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout] 241 |     ScheduledDeviceConflict {
[INFO] [stdout]     |     ----------------------- fields in this variant
[INFO] [stdout] 242 |         device:    String,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 243 |         every_at:  Span,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 244 |         loop_at:   Span,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `device` is never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:256:9
[INFO] [stdout]     |
[INFO] [stdout] 255 |     DevicePassedTwice {
[INFO] [stdout]     |     ----------------- field in this variant
[INFO] [stdout] 256 |         device: String,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `found` is never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:277:9
[INFO] [stdout]     |
[INFO] [stdout] 276 |     RangeBoundsNotInteger {
[INFO] [stdout]     |     --------------------- field in this variant
[INFO] [stdout] 277 |         found: String,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `from` and `to` are never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:282:9
[INFO] [stdout]     |
[INFO] [stdout] 281 |     RangeDirectionError {
[INFO] [stdout]     |     ------------------- fields in this variant
[INFO] [stdout] 282 |         from: i64,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 283 |         to:   i64,
[INFO] [stdout]     |         ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `first_defined` are never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:288:9
[INFO] [stdout]     |
[INFO] [stdout] 287 |     DuplicateDefinition {
[INFO] [stdout]     |     ------------------- fields in this variant
[INFO] [stdout] 288 |         name:          String,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 289 |         first_defined: Span,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `delay_ms` and `period_ms` are never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:301:9
[INFO] [stdout]     |
[INFO] [stdout] 300 |     DelayExceedsEveryPeriod {
[INFO] [stdout]     |     ----------------------- fields in this variant
[INFO] [stdout] 301 |         delay_ms:  u64,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 302 |         period_ms: u64,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `key` is never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:309:9
[INFO] [stdout]     |
[INFO] [stdout] 308 |     UnknownConfigKey {
[INFO] [stdout]     |     ---------------- field in this variant
[INFO] [stdout] 309 |         key: String,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `key`, `expected`, and `found` are never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:314:9
[INFO] [stdout]     |
[INFO] [stdout] 313 |     ConfigTypeMismatch {
[INFO] [stdout]     |     ------------------ fields in this variant
[INFO] [stdout] 314 |         key:      String,
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 315 |         expected: String,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 316 |         found:    String,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:91:5
[INFO] [stdout]     |
[INFO] [stdout]  79 | pub enum DiagnosticKind {
[INFO] [stdout]     |          -------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout]  91 |     MissingPinAssignment {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     BareCallWithoutKeyword {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     AssignFromVoidFunction {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     QualifierNotOnDevice {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     EveryInsideLoop,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     OutOfScopeVariable {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     EqEqOnDevice {
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 209 |     InlineIfMissingElse,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 218 |     MissingOwnershipKeyword {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     ScheduledBorrowConflict {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     SectionOrderViolation {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     InlineDefineMultiple,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 270 |     BreakOutsideLoop,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 273 |     ContinueOutsideLoop,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 295 |     UnusedVariable {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `mutable` and `array_size` are never read
[INFO] [stdout]   --> compiler/src/semantic/symbol_table.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     Variable {
[INFO] [stdout]    |     -------- fields in this variant
[INFO] [stdout] 51 |         mutable:    bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 52 |         array_size: Option<usize>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SymbolKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `device_type` is never read
[INFO] [stdout]   --> compiler/src/semantic/symbol_table.rs:86:36
[INFO] [stdout]    |
[INFO] [stdout] 86 |     Device { ownership: Ownership, device_type: Ident },
[INFO] [stdout]    |     ------ field in this variant   ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParamKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Lent` and `Borrowed` are never constructed
[INFO] [stdout]    --> compiler/src/semantic/symbol_table.rs:98:5
[INFO] [stdout]     |
[INFO] [stdout]  91 | pub enum DeviceState {
[INFO] [stdout]     |          ----------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout]  98 |     Lent,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]  99 |     /// Currently borrowed by a function via BORROW — temporarily unavailable.
[INFO] [stdout] 100 |     Borrowed,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DeviceState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `label` is never read
[INFO] [stdout]    --> compiler/src/semantic/symbol_table.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 109 | struct Scope {
[INFO] [stdout]     |        ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 113 |     label:   String,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Scope` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `current_scope_label`, `push_diagnostic`, `has_errors`, and `warn_unused_in_current_scope` are never used
[INFO] [stdout]    --> compiler/src/semantic/symbol_table.rs:155:12
[INFO] [stdout]     |
[INFO] [stdout] 134 | impl SymbolTable {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub fn current_scope_label(&self) -> &str {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 282 |     pub fn push_diagnostic(&mut self, d: Diagnostic) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 286 |     pub fn has_errors(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 295 |     pub fn warn_unused_in_current_scope(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_used` is never used
[INFO] [stdout]    --> compiler/src/semantic/symbol_table.rs:368:12
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl UsageTracker {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 368 |     pub fn is_used(&self, key: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `scheduler_model` and `serial_write` are never read
[INFO] [stdout]   --> compiler/src/codegen/context.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct BoardProfile {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub scheduler_model:  SchedulerModel,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 50 |     /// Serial/UART write macro or function name.
[INFO] [stdout] 51 |     pub serial_write:     &'static str,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BoardProfile` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TimerInterrupt` is never constructed
[INFO] [stdout]   --> compiler/src/codegen/context.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub enum SchedulerModel {
[INFO] [stdout]    |          -------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 63 |     TimerInterrupt,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SchedulerModel` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `serial_baud` and `debounce_ms` are never read
[INFO] [stdout]    --> compiler/src/codegen/context.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub struct EmitContext {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub serial_baud:  Option<u32>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 132 |     pub optimize:     OptimizeLevel,
[INFO] [stdout] 133 |     pub debounce_ms:  Option<u32>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EmitContext` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.51s
[INFO] running `Command { std: "docker" "inspect" "df0cfcc033201428d55dde383baaf1f11dae766c2a2e235e7b33083a42f6e099", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "df0cfcc033201428d55dde383baaf1f11dae766c2a2e235e7b33083a42f6e099", kill_on_drop: false }`
[INFO] [stdout] df0cfcc033201428d55dde383baaf1f11dae766c2a2e235e7b33083a42f6e099
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3fff9e5da6600fd6784f65798baf8776fa62ea319b07a9f71bf16d647c69baa7
[INFO] running `Command { std: "docker" "start" "-a" "3fff9e5da6600fd6784f65798baf8776fa62ea319b07a9f71bf16d647c69baa7", kill_on_drop: false }`
[INFO] [stderr] warning: compiler/Cargo.toml: only one of `license` or `license-file` is necessary
[INFO] [stderr] `license` should be used if the package license can be expressed with a standard SPDX expression.
[INFO] [stderr] `license-file` should be used if the package uses a non-standard license.
[INFO] [stderr] See https://doc.rust-lang.org/cargo/reference/manifest.html#the-license-and-license-file-fields for more information.
[INFO] [stderr] warning: `ferrum` (manifest) generated 1 warning
[INFO] [stdout] warning: the `#![no_std]` attribute can only be used at the crate root
[INFO] [stdout]   --> runtime/src/traits.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | #![no_std]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the crate root is at `runtime/src/lib.rs`
[INFO] [stdout]    = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::cmp::Ordering`
[INFO] [stdout]   --> stdlib/src/math.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use core::cmp::Ordering;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `#![no_std]` attribute can only be used at the crate root
[INFO] [stdout]   --> stdlib/src/arrays.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | #![no_std]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the crate root is at `stdlib/src/lib.rs`
[INFO] [stdout]    = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `#![no_std]` attribute can only be used at the crate root
[INFO] [stdout]   --> stdlib/src/convert.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | #![no_std]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the crate root is at `stdlib/src/lib.rs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `#![no_std]` attribute can only be used at the crate root
[INFO] [stdout]   --> stdlib/src/format.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | #![no_std]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the crate root is at `stdlib/src/lib.rs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `#![no_std]` attribute can only be used at the crate root
[INFO] [stdout]   --> stdlib/src/math.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | #![no_std]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the crate root is at `stdlib/src/lib.rs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `#![no_std]` attribute can only be used at the crate root
[INFO] [stdout]   --> stdlib/src/strings.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | #![no_std]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the crate root is at `stdlib/src/lib.rs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling ferrum-runtime v0.1.0 (/opt/rustwide/workdir/runtime)
[INFO] [stderr]    Compiling ferrum v0.1.0 (/opt/rustwide/workdir/compiler)
[INFO] [stderr]    Compiling ferrum-stdlib v0.1.0 (/opt/rustwide/workdir/stdlib)
[INFO] [stdout] warning: the `#![no_std]` attribute can only be used at the crate root
[INFO] [stdout]   --> runtime/src/traits.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | #![no_std]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the crate root is at `runtime/src/lib.rs`
[INFO] [stdout]    = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::cmp::Ordering`
[INFO] [stdout]   --> stdlib/src/math.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use core::cmp::Ordering;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `#![no_std]` attribute can only be used at the crate root
[INFO] [stdout]   --> stdlib/src/arrays.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | #![no_std]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the crate root is at `stdlib/src/lib.rs`
[INFO] [stdout]    = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `#![no_std]` attribute can only be used at the crate root
[INFO] [stdout]   --> stdlib/src/convert.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | #![no_std]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the crate root is at `stdlib/src/lib.rs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `#![no_std]` attribute can only be used at the crate root
[INFO] [stdout]   --> stdlib/src/format.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | #![no_std]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the crate root is at `stdlib/src/lib.rs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `#![no_std]` attribute can only be used at the crate root
[INFO] [stdout]   --> stdlib/src/math.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | #![no_std]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the crate root is at `stdlib/src/lib.rs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `#![no_std]` attribute can only be used at the crate root
[INFO] [stdout]   --> stdlib/src/strings.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | #![no_std]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the crate root is at `stdlib/src/lib.rs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MockInput` is never constructed
[INFO] [stdout]    --> runtime/src/traits.rs:101:12
[INFO] [stdout]     |
[INFO] [stdout] 101 |     struct MockInput  { state: bool }
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LexError` and `LexResult`
[INFO] [stdout]   --> compiler/src/lexer/mod.rs:16:22
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use lexer::{lex, LexError, LexResult};
[INFO] [stdout]    |                      ^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `InterfaceType` and `Qualifier`
[INFO] [stdout]   --> compiler/src/codegen/context.rs:19:57
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::ast::{ConfigSection, ConfigKey, ConfigValue, InterfaceType, Qualifier};
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `length`
[INFO] [stdout]    --> compiler/src/lexer/lexer.rs:372:17
[INFO] [stdout]     |
[INFO] [stdout] 372 |             let length = (self.pos - (start_col as usize - 1)) as u32;
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_length`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> compiler/src/parser/parser.rs:928:13
[INFO] [stdout]     |
[INFO] [stdout] 928 |             t if self.is_known_function_name_lookahead() => {
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to pattern match on the similarly named variant `S`
[INFO] [stdout]     |
[INFO] [stdout] 928 -             t if self.is_known_function_name_lookahead() => {
[INFO] [stdout] 928 +             lexer::token::Token::S if self.is_known_function_name_lookahead() => {
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 928 |             _t if self.is_known_function_name_lookahead() => {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fn_ident`
[INFO] [stdout]    --> compiler/src/semantic/ownership.rs:258:9
[INFO] [stdout]     |
[INFO] [stdout] 258 |         fn_ident: &crate::lexer::token::Ident,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fn_ident`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stmt`
[INFO] [stdout]    --> compiler/src/semantic/ownership.rs:328:13
[INFO] [stdout]     |
[INFO] [stdout] 328 |         let stmt = Statement {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_stmt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> compiler/src/codegen/rust_emit.rs:256:33
[INFO] [stdout]     |
[INFO] [stdout] 256 |                     if let Some(size) = v.array_size {
[INFO] [stdout]     |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> compiler/src/codegen/rust_emit.rs:642:17
[INFO] [stdout]     |
[INFO] [stdout] 642 |             let args = self.format_call_args(&stmt.args);
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out_path`
[INFO] [stdout]    --> compiler/src/main.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |     let out_path  = format!("{}_generated.rs", stem);
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_out_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> compiler/src/ast/nodes.rs:304:9
[INFO] [stdout]     |
[INFO] [stdout] 297 | pub struct Program {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 304 |     pub span:      Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Program` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> compiler/src/ast/nodes.rs:314:9
[INFO] [stdout]     |
[INFO] [stdout] 312 | pub struct ConfigSection {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] 313 |     pub items: Vec<ConfigItem>,
[INFO] [stdout] 314 |     pub span:  Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ConfigSection` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `interface_name` and `disambiguator` are never read
[INFO] [stdout]    --> compiler/src/ast/nodes.rs:426:9
[INFO] [stdout]     |
[INFO] [stdout] 425 | pub struct PinAssignment {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] 426 |     pub interface_name: Option<Ident>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 427 |     pub pin_number:     u32,
[INFO] [stdout] 428 |     pub disambiguator:  Option<Ident>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PinAssignment` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> compiler/src/ast/nodes.rs:550:9
[INFO] [stdout]     |
[INFO] [stdout] 548 | pub struct RunSection {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] 549 |     pub items: Vec<RunItem>,
[INFO] [stdout] 550 |     pub span:  Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RunSection` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> compiler/src/ast/nodes.rs:572:9
[INFO] [stdout]     |
[INFO] [stdout] 568 | pub struct EveryBlock {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 572 |     pub span:   Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EveryBlock` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> compiler/src/ast/nodes.rs:582:9
[INFO] [stdout]     |
[INFO] [stdout] 578 | pub struct TopIfBlock {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 582 |     pub span:       Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TopIfBlock` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> compiler/src/ast/nodes.rs:590:9
[INFO] [stdout]     |
[INFO] [stdout] 587 | pub struct LoopBlock {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 590 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LoopBlock` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> compiler/src/ast/nodes.rs:598:9
[INFO] [stdout]     |
[INFO] [stdout] 595 | pub struct Duration {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 598 |     pub span:  Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Duration` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> compiler/src/ast/nodes.rs:619:9
[INFO] [stdout]     |
[INFO] [stdout] 617 | pub struct Statement {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] 618 |     pub kind: StmtKind,
[INFO] [stdout] 619 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Statement` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> compiler/src/ast/nodes.rs:676:9
[INFO] [stdout]     |
[INFO] [stdout] 674 | pub struct PrintStmt {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] 675 |     pub value: Expr,
[INFO] [stdout] 676 |     pub span:  Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PrintStmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> compiler/src/ast/nodes.rs:701:9
[INFO] [stdout]     |
[INFO] [stdout] 696 | pub struct IfStmt {
[INFO] [stdout]     |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 701 |     pub span:      Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `IfStmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> compiler/src/ast/nodes.rs:720:9
[INFO] [stdout]     |
[INFO] [stdout] 716 | pub struct ForStmt {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 720 |     pub span:     Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ForStmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_ident` is never used
[INFO] [stdout]     --> compiler/src/ast/nodes.rs:1071:8
[INFO] [stdout]      |
[INFO] [stdout] 1071 |     fn test_ident(name: &str) -> Ident {
[INFO] [stdout]      |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `warnings` is never used
[INFO] [stdout]   --> compiler/src/semantic/mod.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl SemanticResult {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn warnings(&self) -> Vec<&Diagnostic> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `qualifier`, `interface`, and `valid_interfaces` are never read
[INFO] [stdout]   --> compiler/src/semantic/diagnostic.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 84 |     InvalidQualifier {
[INFO] [stdout]    |     ---------------- fields in this variant
[INFO] [stdout] 85 |         qualifier:        String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 86 |         interface:        String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 87 |         valid_interfaces: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `first_used_by` and `first_used_at` are never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:99:9
[INFO] [stdout]     |
[INFO] [stdout]  97 |     DuplicatePinAssignment {
[INFO] [stdout]     |     ---------------------- fields in this variant
[INFO] [stdout]  98 |         pin:              u32,
[INFO] [stdout]  99 |         first_used_by:    String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 100 |         first_used_at:    Span,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `interface` is never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:105:9
[INFO] [stdout]     |
[INFO] [stdout] 104 |     InitOnReadOnlyInterface {
[INFO] [stdout]     |     ----------------------- field in this variant
[INFO] [stdout] 105 |         interface: String,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `interface` is never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |     PullOnNonInput {
[INFO] [stdout]     |     -------------- field in this variant
[INFO] [stdout] 110 |         interface: String,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device`, `expected`, and `found` are never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |     PartialInit {
[INFO] [stdout]     |     ----------- fields in this variant
[INFO] [stdout] 115 |         device:    String,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 116 |         expected:  usize,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 117 |         found:     usize,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `expected`, `found`, and `context` are never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:122:9
[INFO] [stdout]     |
[INFO] [stdout] 121 |     TypeMismatch {
[INFO] [stdout]     |     ------------ fields in this variant
[INFO] [stdout] 122 |         expected: String,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 123 |         found:    String,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 124 |         context:  String,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `value`, `ty`, `valid_min`, and `valid_max` are never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |     ValueOutOfRange {
[INFO] [stdout]     |     --------------- fields in this variant
[INFO] [stdout] 129 |         value:     String,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 130 |         ty:        String,
[INFO] [stdout]     |         ^^
[INFO] [stdout] 131 |         valid_min: String,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 132 |         valid_max: String,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:137:9
[INFO] [stdout]     |
[INFO] [stdout] 136 |     UndefinedVariable {
[INFO] [stdout]     |     ----------------- field in this variant
[INFO] [stdout] 137 |         name: String,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |     UndefinedFunction {
[INFO] [stdout]     |     ----------------- field in this variant
[INFO] [stdout] 142 |         name: String,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device` and `interfaces` are never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:157:9
[INFO] [stdout]     |
[INFO] [stdout] 156 |     AmbiguousSetTarget {
[INFO] [stdout]     |     ------------------ fields in this variant
[INFO] [stdout] 157 |         device:     String,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 158 |         interfaces: Vec<String>,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `function`, `type_a`, `type_b`, `site_a`, and `site_b` are never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:169:9
[INFO] [stdout]     |
[INFO] [stdout] 168 |     ConflictingReturnTypes {
[INFO] [stdout]     |     ---------------------- fields in this variant
[INFO] [stdout] 169 |         function: String,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 170 |         type_a:   String,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 171 |         type_b:   String,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 172 |         site_a:   Span,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 173 |         site_b:   Span,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `device` is never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:190:9
[INFO] [stdout]     |
[INFO] [stdout] 189 |     ReadPercentOnDigitalInput {
[INFO] [stdout]     |     ------------------------- field in this variant
[INFO] [stdout] 190 |         device: String,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `expression_type` is never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:195:9
[INFO] [stdout]     |
[INFO] [stdout] 194 |     IsOnNonDeviceOrBoolean {
[INFO] [stdout]     |     ---------------------- field in this variant
[INFO] [stdout] 195 |         expression_type: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:205:9
[INFO] [stdout]     |
[INFO] [stdout] 204 |     AssignToConstant {
[INFO] [stdout]     |     ---------------- field in this variant
[INFO] [stdout] 205 |         name: String,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `then_type` and `else_type` are never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:213:9
[INFO] [stdout]     |
[INFO] [stdout] 212 |     InlineIfTypeMismatch {
[INFO] [stdout]     |     -------------------- fields in this variant
[INFO] [stdout] 213 |         then_type: String,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 214 |         else_type: String,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `device` is never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 223 |     OwnershipViolation {
[INFO] [stdout]     |     ------------------ field in this variant
[INFO] [stdout] 224 |         device: String,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `param` is never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:229:9
[INFO] [stdout]     |
[INFO] [stdout] 228 |     WriteToLendParam {
[INFO] [stdout]     |     ---------------- field in this variant
[INFO] [stdout] 229 |         param: String,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `function`, `param`, `expected`, and `found` are never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:234:9
[INFO] [stdout]     |
[INFO] [stdout] 233 |     OwnershipMismatch {
[INFO] [stdout]     |     ----------------- fields in this variant
[INFO] [stdout] 234 |         function:  String,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 235 |         param:     String,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 236 |         expected:  String,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 237 |         found:     String,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device`, `every_at`, and `loop_at` are never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout] 241 |     ScheduledDeviceConflict {
[INFO] [stdout]     |     ----------------------- fields in this variant
[INFO] [stdout] 242 |         device:    String,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 243 |         every_at:  Span,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 244 |         loop_at:   Span,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `device` is never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:256:9
[INFO] [stdout]     |
[INFO] [stdout] 255 |     DevicePassedTwice {
[INFO] [stdout]     |     ----------------- field in this variant
[INFO] [stdout] 256 |         device: String,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `found` is never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:277:9
[INFO] [stdout]     |
[INFO] [stdout] 276 |     RangeBoundsNotInteger {
[INFO] [stdout]     |     --------------------- field in this variant
[INFO] [stdout] 277 |         found: String,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `from` and `to` are never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:282:9
[INFO] [stdout]     |
[INFO] [stdout] 281 |     RangeDirectionError {
[INFO] [stdout]     |     ------------------- fields in this variant
[INFO] [stdout] 282 |         from: i64,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 283 |         to:   i64,
[INFO] [stdout]     |         ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `first_defined` are never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:288:9
[INFO] [stdout]     |
[INFO] [stdout] 287 |     DuplicateDefinition {
[INFO] [stdout]     |     ------------------- fields in this variant
[INFO] [stdout] 288 |         name:          String,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 289 |         first_defined: Span,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:296:9
[INFO] [stdout]     |
[INFO] [stdout] 295 |     UnusedVariable {
[INFO] [stdout]     |     -------------- field in this variant
[INFO] [stdout] 296 |         name: String,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `delay_ms` and `period_ms` are never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:301:9
[INFO] [stdout]     |
[INFO] [stdout] 300 |     DelayExceedsEveryPeriod {
[INFO] [stdout]     |     ----------------------- fields in this variant
[INFO] [stdout] 301 |         delay_ms:  u64,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 302 |         period_ms: u64,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `key` is never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:309:9
[INFO] [stdout]     |
[INFO] [stdout] 308 |     UnknownConfigKey {
[INFO] [stdout]     |     ---------------- field in this variant
[INFO] [stdout] 309 |         key: String,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `key`, `expected`, and `found` are never read
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:314:9
[INFO] [stdout]     |
[INFO] [stdout] 313 |     ConfigTypeMismatch {
[INFO] [stdout]     |     ------------------ fields in this variant
[INFO] [stdout] 314 |         key:      String,
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 315 |         expected: String,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 316 |         found:    String,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> compiler/src/semantic/diagnostic.rs:91:5
[INFO] [stdout]     |
[INFO] [stdout]  79 | pub enum DiagnosticKind {
[INFO] [stdout]     |          -------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout]  91 |     MissingPinAssignment {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     BareCallWithoutKeyword {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     AssignFromVoidFunction {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     QualifierNotOnDevice {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     EveryInsideLoop,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     OutOfScopeVariable {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     EqEqOnDevice {
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 209 |     InlineIfMissingElse,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 218 |     MissingOwnershipKeyword {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     ScheduledBorrowConflict {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     SectionOrderViolation {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     InlineDefineMultiple,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 270 |     BreakOutsideLoop,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 273 |     ContinueOutsideLoop,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `mutable` and `array_size` are never read
[INFO] [stdout]   --> compiler/src/semantic/symbol_table.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     Variable {
[INFO] [stdout]    |     -------- fields in this variant
[INFO] [stdout] 51 |         mutable:    bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 52 |         array_size: Option<usize>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SymbolKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `device_type` is never read
[INFO] [stdout]   --> compiler/src/semantic/symbol_table.rs:86:36
[INFO] [stdout]    |
[INFO] [stdout] 86 |     Device { ownership: Ownership, device_type: Ident },
[INFO] [stdout]    |     ------ field in this variant   ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParamKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Lent` and `Borrowed` are never constructed
[INFO] [stdout]    --> compiler/src/semantic/symbol_table.rs:98:5
[INFO] [stdout]     |
[INFO] [stdout]  91 | pub enum DeviceState {
[INFO] [stdout]     |          ----------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout]  98 |     Lent,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]  99 |     /// Currently borrowed by a function via BORROW — temporarily unavailable.
[INFO] [stdout] 100 |     Borrowed,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DeviceState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `label` is never read
[INFO] [stdout]    --> compiler/src/semantic/symbol_table.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 109 | struct Scope {
[INFO] [stdout]     |        ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 113 |     label:   String,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Scope` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `current_scope_label`, `push_diagnostic`, and `warn_unused_in_current_scope` are never used
[INFO] [stdout]    --> compiler/src/semantic/symbol_table.rs:155:12
[INFO] [stdout]     |
[INFO] [stdout] 134 | impl SymbolTable {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub fn current_scope_label(&self) -> &str {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 282 |     pub fn push_diagnostic(&mut self, d: Diagnostic) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 295 |     pub fn warn_unused_in_current_scope(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_used` is never used
[INFO] [stdout]    --> compiler/src/semantic/symbol_table.rs:368:12
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl UsageTracker {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 368 |     pub fn is_used(&self, key: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `scheduler_model` and `serial_write` are never read
[INFO] [stdout]   --> compiler/src/codegen/context.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct BoardProfile {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub scheduler_model:  SchedulerModel,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 50 |     /// Serial/UART write macro or function name.
[INFO] [stdout] 51 |     pub serial_write:     &'static str,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BoardProfile` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TimerInterrupt` is never constructed
[INFO] [stdout]   --> compiler/src/codegen/context.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub enum SchedulerModel {
[INFO] [stdout]    |          -------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 63 |     TimerInterrupt,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SchedulerModel` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `serial_baud` and `debounce_ms` are never read
[INFO] [stdout]    --> compiler/src/codegen/context.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub struct EmitContext {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub serial_baud:  Option<u32>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 132 |     pub optimize:     OptimizeLevel,
[INFO] [stdout] 133 |     pub debounce_ms:  Option<u32>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EmitContext` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3.33s
[INFO] running `Command { std: "docker" "inspect" "3fff9e5da6600fd6784f65798baf8776fa62ea319b07a9f71bf16d647c69baa7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3fff9e5da6600fd6784f65798baf8776fa62ea319b07a9f71bf16d647c69baa7", kill_on_drop: false }`
[INFO] [stdout] 3fff9e5da6600fd6784f65798baf8776fa62ea319b07a9f71bf16d647c69baa7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 6a7d14b57bb81005081023ac403b925df56a9119b6d7cf834d8ed59ba1d57c00
[INFO] running `Command { std: "docker" "start" "-a" "6a7d14b57bb81005081023ac403b925df56a9119b6d7cf834d8ed59ba1d57c00", kill_on_drop: false }`
[INFO] [stderr] warning: compiler/Cargo.toml: only one of `license` or `license-file` is necessary
[INFO] [stderr] `license` should be used if the package license can be expressed with a standard SPDX expression.
[INFO] [stderr] `license-file` should be used if the package uses a non-standard license.
[INFO] [stderr] See https://doc.rust-lang.org/cargo/reference/manifest.html#the-license-and-license-file-fields for more information.
[INFO] [stderr] warning: `ferrum` (manifest) generated 1 warning
[INFO] [stderr] warning: unused import: `core::cmp::Ordering`
[INFO] [stderr]   --> stdlib/src/math.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 | use core::cmp::Ordering;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: the `#![no_std]` attribute can only be used at the crate root
[INFO] [stderr]   --> stdlib/src/arrays.rs:21:1
[INFO] [stderr]    |
[INFO] [stderr] 21 | #![no_std]
[INFO] [stderr]    | ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: the crate root is at `stdlib/src/lib.rs`
[INFO] [stderr]    = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: the `#![no_std]` attribute can only be used at the crate root
[INFO] [stderr]   --> stdlib/src/convert.rs:18:1
[INFO] [stderr]    |
[INFO] [stderr] 18 | #![no_std]
[INFO] [stderr]    | ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: the crate root is at `stdlib/src/lib.rs`
[INFO] [stderr] 
[INFO] [stderr] warning: the `#![no_std]` attribute can only be used at the crate root
[INFO] [stderr]   --> stdlib/src/format.rs:17:1
[INFO] [stderr]    |
[INFO] [stderr] 17 | #![no_std]
[INFO] [stderr]    | ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: the crate root is at `stdlib/src/lib.rs`
[INFO] [stderr] 
[INFO] [stderr] warning: the `#![no_std]` attribute can only be used at the crate root
[INFO] [stderr]   --> stdlib/src/math.rs:19:1
[INFO] [stderr]    |
[INFO] [stderr] 19 | #![no_std]
[INFO] [stderr]    | ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: the crate root is at `stdlib/src/lib.rs`
[INFO] [stderr] 
[INFO] [stderr] warning: the `#![no_std]` attribute can only be used at the crate root
[INFO] [stderr]   --> stdlib/src/strings.rs:12:1
[INFO] [stderr]    |
[INFO] [stderr] 12 | #![no_std]
[INFO] [stderr]    | ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: the crate root is at `stdlib/src/lib.rs`
[INFO] [stderr] 
[INFO] [stderr] warning: `ferrum-stdlib` (lib) generated 6 warnings (run `cargo fix --lib -p ferrum-stdlib` to apply 1 suggestion)
[INFO] [stderr] warning: the `#![no_std]` attribute can only be used at the crate root
[INFO] [stderr]   --> runtime/src/traits.rs:21:1
[INFO] [stderr]    |
[INFO] [stderr] 21 | #![no_std]
[INFO] [stderr]    | ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: the crate root is at `runtime/src/lib.rs`
[INFO] [stderr]    = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `LexError` and `LexResult`
[INFO] [stderr]   --> compiler/src/lexer/mod.rs:16:22
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub use lexer::{lex, LexError, LexResult};
[INFO] [stderr]    |                      ^^^^^^^^  ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `InterfaceType` and `Qualifier`
[INFO] [stderr]   --> compiler/src/codegen/context.rs:19:57
[INFO] [stderr]    |
[INFO] [stderr] 19 | use crate::ast::{ConfigSection, ConfigKey, ConfigValue, InterfaceType, Qualifier};
[INFO] [stderr]    |                                                         ^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `length`
[INFO] [stderr]    --> compiler/src/lexer/lexer.rs:372:17
[INFO] [stderr]     |
[INFO] [stderr] 372 |             let length = (self.pos - (start_col as usize - 1)) as u32;
[INFO] [stderr]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_length`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `t`
[INFO] [stderr]    --> compiler/src/parser/parser.rs:928:13
[INFO] [stderr]     |
[INFO] [stderr] 928 |             t if self.is_known_function_name_lookahead() => {
[INFO] [stderr]     |             ^
[INFO] [stderr]     |
[INFO] [stderr] help: you might have meant to pattern match on the similarly named variant `S`
[INFO] [stderr]     |
[INFO] [stderr] 928 -             t if self.is_known_function_name_lookahead() => {
[INFO] [stderr] 928 +             lexer::token::Token::S if self.is_known_function_name_lookahead() => {
[INFO] [stderr]     |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]     |
[INFO] [stderr] 928 |             _t if self.is_known_function_name_lookahead() => {
[INFO] [stderr]     |             +
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `fn_ident`
[INFO] [stderr]    --> compiler/src/semantic/ownership.rs:258:9
[INFO] [stderr]     |
[INFO] [stderr] 258 |         fn_ident: &crate::lexer::token::Ident,
[INFO] [stderr]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fn_ident`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stmt`
[INFO] [stderr]    --> compiler/src/semantic/ownership.rs:328:13
[INFO] [stderr]     |
[INFO] [stderr] 328 |         let stmt = Statement {
[INFO] [stderr]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_stmt`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `size`
[INFO] [stderr]    --> compiler/src/codegen/rust_emit.rs:256:33
[INFO] [stderr]     |
[INFO] [stderr] 256 |                     if let Some(size) = v.array_size {
[INFO] [stderr]     |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `args`
[INFO] [stderr]    --> compiler/src/codegen/rust_emit.rs:642:17
[INFO] [stderr]     |
[INFO] [stderr] 642 |             let args = self.format_call_args(&stmt.args);
[INFO] [stderr]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `out_path`
[INFO] [stderr]    --> compiler/src/main.rs:131:9
[INFO] [stderr]     |
[INFO] [stderr] 131 |     let out_path  = format!("{}_generated.rs", stem);
[INFO] [stderr]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_out_path`
[INFO] [stderr] 
[INFO] [stderr] warning: field `span` is never read
[INFO] [stderr]    --> compiler/src/ast/nodes.rs:304:9
[INFO] [stderr]     |
[INFO] [stderr] 297 | pub struct Program {
[INFO] [stderr]     |            ------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 304 |     pub span:      Span,
[INFO] [stderr]     |         ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Program` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `span` is never read
[INFO] [stderr]    --> compiler/src/ast/nodes.rs:314:9
[INFO] [stderr]     |
[INFO] [stderr] 312 | pub struct ConfigSection {
[INFO] [stderr]     |            ------------- field in this struct
[INFO] [stderr] 313 |     pub items: Vec<ConfigItem>,
[INFO] [stderr] 314 |     pub span:  Span,
[INFO] [stderr]     |         ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `ConfigSection` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `interface_name` and `disambiguator` are never read
[INFO] [stderr]    --> compiler/src/ast/nodes.rs:426:9
[INFO] [stderr]     |
[INFO] [stderr] 425 | pub struct PinAssignment {
[INFO] [stderr]     |            ------------- fields in this struct
[INFO] [stderr] 426 |     pub interface_name: Option<Ident>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^
[INFO] [stderr] 427 |     pub pin_number:     u32,
[INFO] [stderr] 428 |     pub disambiguator:  Option<Ident>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `PinAssignment` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `span` is never read
[INFO] [stderr]    --> compiler/src/ast/nodes.rs:550:9
[INFO] [stderr]     |
[INFO] [stderr] 548 | pub struct RunSection {
[INFO] [stderr]     |            ---------- field in this struct
[INFO] [stderr] 549 |     pub items: Vec<RunItem>,
[INFO] [stderr] 550 |     pub span:  Span,
[INFO] [stderr]     |         ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `RunSection` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `span` is never read
[INFO] [stderr]    --> compiler/src/ast/nodes.rs:572:9
[INFO] [stderr]     |
[INFO] [stderr] 568 | pub struct EveryBlock {
[INFO] [stderr]     |            ---------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 572 |     pub span:   Span,
[INFO] [stderr]     |         ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `EveryBlock` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `span` is never read
[INFO] [stderr]    --> compiler/src/ast/nodes.rs:582:9
[INFO] [stderr]     |
[INFO] [stderr] 578 | pub struct TopIfBlock {
[INFO] [stderr]     |            ---------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 582 |     pub span:       Span,
[INFO] [stderr]     |         ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `TopIfBlock` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `span` is never read
[INFO] [stderr]    --> compiler/src/ast/nodes.rs:590:9
[INFO] [stderr]     |
[INFO] [stderr] 587 | pub struct LoopBlock {
[INFO] [stderr]     |            --------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 590 |     pub span: Span,
[INFO] [stderr]     |         ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `LoopBlock` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `span` is never read
[INFO] [stderr]    --> compiler/src/ast/nodes.rs:598:9
[INFO] [stderr]     |
[INFO] [stderr] 595 | pub struct Duration {
[INFO] [stderr]     |            -------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 598 |     pub span:  Span,
[INFO] [stderr]     |         ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Duration` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `span` is never read
[INFO] [stderr]    --> compiler/src/ast/nodes.rs:619:9
[INFO] [stderr]     |
[INFO] [stderr] 617 | pub struct Statement {
[INFO] [stderr]     |            --------- field in this struct
[INFO] [stderr] 618 |     pub kind: StmtKind,
[INFO] [stderr] 619 |     pub span: Span,
[INFO] [stderr]     |         ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Statement` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `span` is never read
[INFO] [stderr]    --> compiler/src/ast/nodes.rs:676:9
[INFO] [stderr]     |
[INFO] [stderr] 674 | pub struct PrintStmt {
[INFO] [stderr]     |            --------- field in this struct
[INFO] [stderr] 675 |     pub value: Expr,
[INFO] [stderr] 676 |     pub span:  Span,
[INFO] [stderr]     |         ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `PrintStmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `span` is never read
[INFO] [stderr]    --> compiler/src/ast/nodes.rs:701:9
[INFO] [stderr]     |
[INFO] [stderr] 696 | pub struct IfStmt {
[INFO] [stderr]     |            ------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 701 |     pub span:      Span,
[INFO] [stderr]     |         ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `IfStmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `span` is never read
[INFO] [stderr]    --> compiler/src/ast/nodes.rs:720:9
[INFO] [stderr]     |
[INFO] [stderr] 716 | pub struct ForStmt {
[INFO] [stderr]     |            ------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 720 |     pub span:     Span,
[INFO] [stderr]     |         ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `ForStmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_ident` is never used
[INFO] [stderr]     --> compiler/src/ast/nodes.rs:1071:8
[INFO] [stderr]      |
[INFO] [stderr] 1071 |     fn test_ident(name: &str) -> Ident {
[INFO] [stderr]      |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `warnings` is never used
[INFO] [stderr]   --> compiler/src/semantic/mod.rs:39:12
[INFO] [stderr]    |
[INFO] [stderr] 30 | impl SemanticResult {
[INFO] [stderr]    | ------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 39 |     pub fn warnings(&self) -> Vec<&Diagnostic> {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `qualifier`, `interface`, and `valid_interfaces` are never read
[INFO] [stderr]   --> compiler/src/semantic/diagnostic.rs:85:9
[INFO] [stderr]    |
[INFO] [stderr] 84 |     InvalidQualifier {
[INFO] [stderr]    |     ---------------- fields in this variant
[INFO] [stderr] 85 |         qualifier:        String,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr] 86 |         interface:        String,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr] 87 |         valid_interfaces: Vec<String>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `first_used_by` and `first_used_at` are never read
[INFO] [stderr]    --> compiler/src/semantic/diagnostic.rs:99:9
[INFO] [stderr]     |
[INFO] [stderr]  97 |     DuplicatePinAssignment {
[INFO] [stderr]     |     ---------------------- fields in this variant
[INFO] [stderr]  98 |         pin:              u32,
[INFO] [stderr]  99 |         first_used_by:    String,
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr] 100 |         first_used_at:    Span,
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `interface` is never read
[INFO] [stderr]    --> compiler/src/semantic/diagnostic.rs:105:9
[INFO] [stderr]     |
[INFO] [stderr] 104 |     InitOnReadOnlyInterface {
[INFO] [stderr]     |     ----------------------- field in this variant
[INFO] [stderr] 105 |         interface: String,
[INFO] [stderr]     |         ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `interface` is never read
[INFO] [stderr]    --> compiler/src/semantic/diagnostic.rs:110:9
[INFO] [stderr]     |
[INFO] [stderr] 109 |     PullOnNonInput {
[INFO] [stderr]     |     -------------- field in this variant
[INFO] [stderr] 110 |         interface: String,
[INFO] [stderr]     |         ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `device`, `expected`, and `found` are never read
[INFO] [stderr]    --> compiler/src/semantic/diagnostic.rs:115:9
[INFO] [stderr]     |
[INFO] [stderr] 114 |     PartialInit {
[INFO] [stderr]     |     ----------- fields in this variant
[INFO] [stderr] 115 |         device:    String,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr] 116 |         expected:  usize,
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr] 117 |         found:     usize,
[INFO] [stderr]     |         ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `expected`, `found`, and `context` are never read
[INFO] [stderr]    --> compiler/src/semantic/diagnostic.rs:122:9
[INFO] [stderr]     |
[INFO] [stderr] 121 |     TypeMismatch {
[INFO] [stderr]     |     ------------ fields in this variant
[INFO] [stderr] 122 |         expected: String,
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr] 123 |         found:    String,
[INFO] [stderr]     |         ^^^^^
[INFO] [stderr] 124 |         context:  String,
[INFO] [stderr]     |         ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `value`, `ty`, `valid_min`, and `valid_max` are never read
[INFO] [stderr]    --> compiler/src/semantic/diagnostic.rs:129:9
[INFO] [stderr]     |
[INFO] [stderr] 128 |     ValueOutOfRange {
[INFO] [stderr]     |     --------------- fields in this variant
[INFO] [stderr] 129 |         value:     String,
[INFO] [stderr]     |         ^^^^^
[INFO] [stderr] 130 |         ty:        String,
[INFO] [stderr]     |         ^^
[INFO] [stderr] 131 |         valid_min: String,
[INFO] [stderr]     |         ^^^^^^^^^
[INFO] [stderr] 132 |         valid_max: String,
[INFO] [stderr]     |         ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `name` is never read
[INFO] [stderr]    --> compiler/src/semantic/diagnostic.rs:137:9
[INFO] [stderr]     |
[INFO] [stderr] 136 |     UndefinedVariable {
[INFO] [stderr]     |     ----------------- field in this variant
[INFO] [stderr] 137 |         name: String,
[INFO] [stderr]     |         ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `name` is never read
[INFO] [stderr]    --> compiler/src/semantic/diagnostic.rs:142:9
[INFO] [stderr]     |
[INFO] [stderr] 141 |     UndefinedFunction {
[INFO] [stderr]     |     ----------------- field in this variant
[INFO] [stderr] 142 |         name: String,
[INFO] [stderr]     |         ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `device` and `interfaces` are never read
[INFO] [stderr]    --> compiler/src/semantic/diagnostic.rs:157:9
[INFO] [stderr]     |
[INFO] [stderr] 156 |     AmbiguousSetTarget {
[INFO] [stderr]     |     ------------------ fields in this variant
[INFO] [stderr] 157 |         device:     String,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr] 158 |         interfaces: Vec<String>,
[INFO] [stderr]     |         ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `function`, `type_a`, `type_b`, `site_a`, and `site_b` are never read
[INFO] [stderr]    --> compiler/src/semantic/diagnostic.rs:169:9
[INFO] [stderr]     |
[INFO] [stderr] 168 |     ConflictingReturnTypes {
[INFO] [stderr]     |     ---------------------- fields in this variant
[INFO] [stderr] 169 |         function: String,
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr] 170 |         type_a:   String,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr] 171 |         type_b:   String,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr] 172 |         site_a:   Span,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr] 173 |         site_b:   Span,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `device` is never read
[INFO] [stderr]    --> compiler/src/semantic/diagnostic.rs:190:9
[INFO] [stderr]     |
[INFO] [stderr] 189 |     ReadPercentOnDigitalInput {
[INFO] [stderr]     |     ------------------------- field in this variant
[INFO] [stderr] 190 |         device: String,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `expression_type` is never read
[INFO] [stderr]    --> compiler/src/semantic/diagnostic.rs:195:9
[INFO] [stderr]     |
[INFO] [stderr] 194 |     IsOnNonDeviceOrBoolean {
[INFO] [stderr]     |     ---------------------- field in this variant
[INFO] [stderr] 195 |         expression_type: String,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `name` is never read
[INFO] [stderr]    --> compiler/src/semantic/diagnostic.rs:205:9
[INFO] [stderr]     |
[INFO] [stderr] 204 |     AssignToConstant {
[INFO] [stderr]     |     ---------------- field in this variant
[INFO] [stderr] 205 |         name: String,
[INFO] [stderr]     |         ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `then_type` and `else_type` are never read
[INFO] [stderr]    --> compiler/src/semantic/diagnostic.rs:213:9
[INFO] [stderr]     |
[INFO] [stderr] 212 |     InlineIfTypeMismatch {
[INFO] [stderr]     |     -------------------- fields in this variant
[INFO] [stderr] 213 |         then_type: String,
[INFO] [stderr]     |         ^^^^^^^^^
[INFO] [stderr] 214 |         else_type: String,
[INFO] [stderr]     |         ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `device` is never read
[INFO] [stderr]    --> compiler/src/semantic/diagnostic.rs:224:9
[INFO] [stderr]     |
[INFO] [stderr] 223 |     OwnershipViolation {
[INFO] [stderr]     |     ------------------ field in this variant
[INFO] [stderr] 224 |         device: String,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `param` is never read
[INFO] [stderr]    --> compiler/src/semantic/diagnostic.rs:229:9
[INFO] [stderr]     |
[INFO] [stderr] 228 |     WriteToLendParam {
[INFO] [stderr]     |     ---------------- field in this variant
[INFO] [stderr] 229 |         param: String,
[INFO] [stderr]     |         ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `function`, `param`, `expected`, and `found` are never read
[INFO] [stderr]    --> compiler/src/semantic/diagnostic.rs:234:9
[INFO] [stderr]     |
[INFO] [stderr] 233 |     OwnershipMismatch {
[INFO] [stderr]     |     ----------------- fields in this variant
[INFO] [stderr] 234 |         function:  String,
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr] 235 |         param:     String,
[INFO] [stderr]     |         ^^^^^
[INFO] [stderr] 236 |         expected:  String,
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr] 237 |         found:     String,
[INFO] [stderr]     |         ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `device`, `every_at`, and `loop_at` are never read
[INFO] [stderr]    --> compiler/src/semantic/diagnostic.rs:242:9
[INFO] [stderr]     |
[INFO] [stderr] 241 |     ScheduledDeviceConflict {
[INFO] [stderr]     |     ----------------------- fields in this variant
[INFO] [stderr] 242 |         device:    String,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr] 243 |         every_at:  Span,
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr] 244 |         loop_at:   Span,
[INFO] [stderr]     |         ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `device` is never read
[INFO] [stderr]    --> compiler/src/semantic/diagnostic.rs:256:9
[INFO] [stderr]     |
[INFO] [stderr] 255 |     DevicePassedTwice {
[INFO] [stderr]     |     ----------------- field in this variant
[INFO] [stderr] 256 |         device: String,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `found` is never read
[INFO] [stderr]    --> compiler/src/semantic/diagnostic.rs:277:9
[INFO] [stderr]     |
[INFO] [stderr] 276 |     RangeBoundsNotInteger {
[INFO] [stderr]     |     --------------------- field in this variant
[INFO] [stderr] 277 |         found: String,
[INFO] [stderr]     |         ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `from` and `to` are never read
[INFO] [stderr]    --> compiler/src/semantic/diagnostic.rs:282:9
[INFO] [stderr]     |
[INFO] [stderr] 281 |     RangeDirectionError {
[INFO] [stderr]     |     ------------------- fields in this variant
[INFO] [stderr] 282 |         from: i64,
[INFO] [stderr]     |         ^^^^
[INFO] [stderr] 283 |         to:   i64,
[INFO] [stderr]     |         ^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `name` and `first_defined` are never read
[INFO] [stderr]    --> compiler/src/semantic/diagnostic.rs:288:9
[INFO] [stderr]     |
[INFO] [stderr] 287 |     DuplicateDefinition {
[INFO] [stderr]     |     ------------------- fields in this variant
[INFO] [stderr] 288 |         name:          String,
[INFO] [stderr]     |         ^^^^
[INFO] [stderr] 289 |         first_defined: Span,
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `name` is never read
[INFO] [stderr]    --> compiler/src/semantic/diagnostic.rs:296:9
[INFO] [stderr]     |
[INFO] [stderr] 295 |     UnusedVariable {
[INFO] [stderr]     |     -------------- field in this variant
[INFO] [stderr] 296 |         name: String,
[INFO] [stderr]     |         ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `delay_ms` and `period_ms` are never read
[INFO] [stderr]    --> compiler/src/semantic/diagnostic.rs:301:9
[INFO] [stderr]     |
[INFO] [stderr] 300 |     DelayExceedsEveryPeriod {
[INFO] [stderr]     |     ----------------------- fields in this variant
[INFO] [stderr] 301 |         delay_ms:  u64,
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr] 302 |         period_ms: u64,
[INFO] [stderr]     |         ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `key` is never read
[INFO] [stderr]    --> compiler/src/semantic/diagnostic.rs:309:9
[INFO] [stderr]     |
[INFO] [stderr] 308 |     UnknownConfigKey {
[INFO] [stderr]     |     ---------------- field in this variant
[INFO] [stderr] 309 |         key: String,
[INFO] [stderr]     |         ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `key`, `expected`, and `found` are never read
[INFO] [stderr]    --> compiler/src/semantic/diagnostic.rs:314:9
[INFO] [stderr]     |
[INFO] [stderr] 313 |     ConfigTypeMismatch {
[INFO] [stderr]     |     ------------------ fields in this variant
[INFO] [stderr] 314 |         key:      String,
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 315 |         expected: String,
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr] 316 |         found:    String,
[INFO] [stderr]     |         ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: multiple variants are never constructed
[INFO] [stderr]    --> compiler/src/semantic/diagnostic.rs:91:5
[INFO] [stderr]     |
[INFO] [stderr]  79 | pub enum DiagnosticKind {
[INFO] [stderr]     |          -------------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr]  91 |     MissingPinAssignment {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 146 |     BareCallWithoutKeyword {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 151 |     AssignFromVoidFunction {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 162 |     QualifierNotOnDevice {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 179 |     EveryInsideLoop,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 182 |     OutOfScopeVariable {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 199 |     EqEqOnDevice {
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 209 |     InlineIfMissingElse,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 218 |     MissingOwnershipKeyword {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 248 |     ScheduledBorrowConflict {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 260 |     SectionOrderViolation {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 266 |     InlineDefineMultiple,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 270 |     BreakOutsideLoop,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 273 |     ContinueOutsideLoop,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DiagnosticKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `mutable` and `array_size` are never read
[INFO] [stderr]   --> compiler/src/semantic/symbol_table.rs:51:9
[INFO] [stderr]    |
[INFO] [stderr] 50 |     Variable {
[INFO] [stderr]    |     -------- fields in this variant
[INFO] [stderr] 51 |         mutable:    bool,
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr] 52 |         array_size: Option<usize>,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `SymbolKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `device_type` is never read
[INFO] [stderr]   --> compiler/src/semantic/symbol_table.rs:86:36
[INFO] [stderr]    |
[INFO] [stderr] 86 |     Device { ownership: Ownership, device_type: Ident },
[INFO] [stderr]    |     ------ field in this variant   ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ParamKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Lent` and `Borrowed` are never constructed
[INFO] [stderr]    --> compiler/src/semantic/symbol_table.rs:98:5
[INFO] [stderr]     |
[INFO] [stderr]  91 | pub enum DeviceState {
[INFO] [stderr]     |          ----------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr]  98 |     Lent,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr]  99 |     /// Currently borrowed by a function via BORROW — temporarily unavailable.
[INFO] [stderr] 100 |     Borrowed,
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DeviceState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `label` is never read
[INFO] [stderr]    --> compiler/src/semantic/symbol_table.rs:113:5
[INFO] [stderr]     |
[INFO] [stderr] 109 | struct Scope {
[INFO] [stderr]     |        ----- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 113 |     label:   String,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Scope` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `current_scope_label`, `push_diagnostic`, and `warn_unused_in_current_scope` are never used
[INFO] [stderr]    --> compiler/src/semantic/symbol_table.rs:155:12
[INFO] [stderr]     |
[INFO] [stderr] 134 | impl SymbolTable {
[INFO] [stderr]     | ---------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 155 |     pub fn current_scope_label(&self) -> &str {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 282 |     pub fn push_diagnostic(&mut self, d: Diagnostic) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 295 |     pub fn warn_unused_in_current_scope(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `is_used` is never used
[INFO] [stderr]    --> compiler/src/semantic/symbol_table.rs:368:12
[INFO] [stderr]     |
[INFO] [stderr] 357 | impl UsageTracker {
[INFO] [stderr]     | ----------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 368 |     pub fn is_used(&self, key: &str) -> bool {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `scheduler_model` and `serial_write` are never read
[INFO] [stderr]   --> compiler/src/codegen/context.rs:49:9
[INFO] [stderr]    |
[INFO] [stderr] 27 | pub struct BoardProfile {
[INFO] [stderr]    |            ------------ fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 49 |     pub scheduler_model:  SchedulerModel,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 50 |     /// Serial/UART write macro or function name.
[INFO] [stderr] 51 |     pub serial_write:     &'static str,
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `BoardProfile` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variant `TimerInterrupt` is never constructed
[INFO] [stderr]   --> compiler/src/codegen/context.rs:63:5
[INFO] [stderr]    |
[INFO] [stderr] 57 | pub enum SchedulerModel {
[INFO] [stderr]    |          -------------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 63 |     TimerInterrupt,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `SchedulerModel` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `serial_baud` and `debounce_ms` are never read
[INFO] [stderr]    --> compiler/src/codegen/context.rs:131:9
[INFO] [stderr]     |
[INFO] [stderr] 128 | pub struct EmitContext {
[INFO] [stderr]     |            ----------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 131 |     pub serial_baud:  Option<u32>,
[INFO] [stderr]     |         ^^^^^^^^^^^
[INFO] [stderr] 132 |     pub optimize:     OptimizeLevel,
[INFO] [stderr] 133 |     pub debounce_ms:  Option<u32>,
[INFO] [stderr]     |         ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `EmitContext` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `MockInput` is never constructed
[INFO] [stderr]    --> runtime/src/traits.rs:101:12
[INFO] [stderr]     |
[INFO] [stderr] 101 |     struct MockInput  { state: bool }
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `ferrum-runtime` (lib) generated 1 warning
[INFO] [stderr] warning: `ferrum` (bin "ferrum" test) generated 60 warnings (run `cargo fix --bin "ferrum" -p ferrum --tests` to apply 9 suggestions)
[INFO] [stderr] warning: `ferrum-stdlib` (lib test) generated 6 warnings (6 duplicates)
[INFO] [stderr] warning: `ferrum-runtime` (lib test) generated 2 warnings (1 duplicate)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.09s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ferrum-90e4ab06ec7eda04)
[INFO] [stdout] 
[INFO] [stdout] running 153 tests
[INFO] [stdout] test ast::nodes::tests::binop_symbols ... ok
[INFO] [stdout] test ast::nodes::tests::data_type_converts_to_type ... ok
[INFO] [stdout] test ast::nodes::tests::config_key_name ... ok
[INFO] [stdout] test ast::nodes::tests::duration_millis_conversion ... ok
[INFO] [stdout] test ast::nodes::tests::pull_only_valid_on_input ... ok
[INFO] [stdout] test codegen::context::context_tests::microbit_profile_resolves ... ok
[INFO] [stdout] test codegen::context::context_tests::rp_pico_aliases_resolve ... ok
[INFO] [stdout] test ast::nodes::tests::visitor_walks_without_panic ... ok
[INFO] [stdout] test codegen::name_mangler::mangler_tests::pascal_single_word ... ok
[INFO] [stdout] test codegen::name_mangler::mangler_tests::type_keyword_escaped ... ok
[INFO] [stdout] test ast::nodes::tests::qualifier_valid_interfaces ... ok
[INFO] [stdout] test ast::nodes::tests::read_only_interfaces ... ok
[INFO] [stdout] test codegen::name_mangler::mangler_tests::rust_keyword_escaped ... ok
[INFO] [stdout] test codegen::name_mangler::mangler_tests::screaming_snake ... ok
[INFO] [stdout] test codegen::name_mangler::mangler_tests::snake_case_passthrough ... ok
[INFO] [stdout] test codegen::context::context_tests::emit_context_defaults_to_microbit ... ok
[INFO] [stdout] test codegen::name_mangler::mangler_tests::pascal_from_snake_case ... ok
[INFO] [stdout] test codegen::rust_emit::rust_emit_tests::device_struct_emits_fields ... ok
[INFO] [stdout] test ast::nodes::tests::else_clause_only_has_block ... ok
[INFO] [stdout] test codegen::rust_emit::rust_emit_tests::emit_literal_bool_true ... ok
[INFO] [stdout] test ast::nodes::tests::ownership_variants_are_distinct ... ok
[INFO] [stdout] test codegen::context::context_tests::unknown_board_returns_none ... ok
[INFO] [stdout] test codegen::rust_emit::rust_emit_tests::emit_literal_high_is_true ... ok
[INFO] [stdout] test codegen::type_map::type_map_tests::array_type_formatting ... ok
[INFO] [stdout] test codegen::rust_emit::rust_emit_tests::indent_writer_produces_indented_lines ... ok
[INFO] [stdout] test codegen::type_map::type_map_tests::device_arg_prefix ... ok
[INFO] [stdout] test codegen::type_map::type_map_tests::data_type_mapping ... ok
[INFO] [stdout] test codegen::type_map::type_map_tests::ownership_to_reference ... ok
[INFO] [stdout] test diagnostics::reporter::reporter_tests::render_contains_error_message ... ok
[INFO] [stdout] test diagnostics::reporter::reporter_tests::render_warning_uses_correct_label ... ok
[INFO] [stdout] test diagnostics::reporter::reporter_tests::summary_shows_counts ... ok
[INFO] [stdout] test lexer::lexer::tests::analog_input_is_single_token ... ok
[INFO] [stdout] test lexer::lexer::tests::decimal_with_leading_dot_is_not_decimal ... ok
[INFO] [stdout] test lexer::lexer::tests::complete_mini_program_tokenises_correctly ... ok
[INFO] [stdout] test lexer::lexer::tests::clock_literal_lowercase ... ok
[INFO] [stdout] test lexer::lexer::tests::duration_s_suffix ... ok
[INFO] [stdout] test lexer::lexer::tests::duration_ms_suffix ... ok
[INFO] [stdout] test lexer::lexer::tests::clock_literal_uppercase ... ok
[INFO] [stdout] test lexer::lexer::tests::empty_source_gives_only_eof ... ok
[INFO] [stdout] test lexer::lexer::tests::decimal_literal ... ok
[INFO] [stdout] test lexer::lexer::tests::hex_literal_mixed_digits ... ok
[INFO] [stdout] test lexer::lexer::tests::decimal_zero_point_five ... ok
[INFO] [stdout] test codegen::rust_emit::rust_emit_tests::emit_literal_integer ... ok
[INFO] [stdout] test codegen::rust_emit::rust_emit_tests::emit_literal_low_is_false ... ok
[INFO] [stdout] test lexer::lexer::tests::identifier_preserves_original_spelling ... ok
[INFO] [stdout] test lexer::lexer::tests::hex_literal_uppercase_prefix ... ok
[INFO] [stdout] test lexer::lexer::tests::hex_literal_lowercase_prefix ... ok
[INFO] [stdout] test lexer::lexer::tests::hex_literal_no_digits_is_error ... ok
[INFO] [stdout] test lexer::lexer::tests::inline_comment_is_skipped ... ok
[INFO] [stdout] test lexer::lexer::tests::identifiers_with_underscores ... ok
[INFO] [stdout] test lexer::lexer::tests::integer_literal ... ok
[INFO] [stdout] test lexer::lexer::tests::integer_not_followed_by_suffix ... ok
[INFO] [stdout] test lexer::lexer::tests::large_integer ... ok
[INFO] [stdout] test lexer::lexer::tests::line_comment_is_skipped ... ok
[INFO] [stdout] test lexer::lexer::tests::multiple_comments_skipped ... ok
[INFO] [stdout] test lexer::lexer::tests::ownership_keywords_case_insensitive ... ok
[INFO] [stdout] test lexer::lexer::tests::span_line_column_are_correct ... ok
[INFO] [stdout] test lexer::lexer::tests::read_percent_is_single_token ... ok
[INFO] [stdout] test lexer::lexer::tests::string_literal_escape_newline ... ok
[INFO] [stdout] test lexer::lexer::tests::string_literal_escape_quote ... ok
[INFO] [stdout] test lexer::lexer::tests::string_literal_escape_backslash ... ok
[INFO] [stdout] test lexer::lexer::tests::string_literal_is_case_sensitive ... ok
[INFO] [stdout] test lexer::lexer::tests::unknown_character_emits_error_and_continues ... ok
[INFO] [stdout] test lexer::lexer::tests::type_names_case_insensitive ... ok
[INFO] [stdout] test lexer::lexer::tests::unterminated_string_emits_error ... ok
[INFO] [stdout] test lexer::lexer::tests::zero_integer ... ok
[INFO] [stdout] test lexer::lexer::tests::whitespace_only_gives_eof ... ok
[INFO] [stdout] test lexer::token::tests::ident_equality_is_case_insensitive ... ok
[INFO] [stdout] test lexer::token::tests::ident_hash_consistent_with_equality ... ok
[INFO] [stdout] test lexer::token::tests::ident_preserves_original_spelling ... ok
[INFO] [stdout] test lexer::token::tests::is_keyword_returns_true_for_all_reserved_words ... ok
[INFO] [stdout] test lexer::token::tests::keyword_table_is_exhaustive_for_type_names ... ok
[INFO] [stdout] test lexer::token::tests::keywords_resolve_from_lowercase ... ok
[INFO] [stdout] test lexer::token::tests::span_merge_covers_both_ends ... ok
[INFO] [stdout] test lexer::token::tests::unknown_word_returns_none ... ok
[INFO] [stdout] test parser::parser::tests::break_inside_loop_is_ok ... ok
[INFO] [stdout] test parser::parser::tests::every_inside_loop_is_error ... ok
[INFO] [stdout] test parser::parser::tests::break_outside_loop_is_error ... ok
[INFO] [stdout] test parser::parser::tests::inline_if_missing_else_is_error ... ok
[INFO] [stdout] test parser::parser::tests::continue_outside_loop_is_error ... ok
[INFO] [stdout] test parser::parser::tests::every_inside_top_if_is_allowed ... ok
[INFO] [stdout] test parser::parser::tests::parse_array_declaration ... ok
[INFO] [stdout] test parser::parser::tests::parse_call_with_device_give ... ok
[INFO] [stdout] test codegen::rust_emit::rust_emit_tests::emit_binop_add ... ok
[INFO] [stdout] test parser::parser::tests::parse_constant_declaration ... ok
[INFO] [stdout] test parser::parser::tests::parse_create_single_pin ... ok
[INFO] [stdout] test parser::parser::tests::parse_config_section ... ok
[INFO] [stdout] test parser::parser::tests::parse_binary_expression ... ok
[INFO] [stdout] test parser::parser::tests::parse_composite_define ... ok
[INFO] [stdout] test lexer::lexer::tests::clock_literal_mixed_case ... ok
[INFO] [stdout] test lexer::lexer::tests::keywords_case_insensitive ... ok
[INFO] [stdout] test lexer::lexer::tests::string_literal_basic ... ok
[INFO] [stdout] test parser::parser::tests::parse_declare_from_call ... ok
[INFO] [stdout] test parser::parser::tests::parse_delay_ms ... ok
[INFO] [stdout] test parser::parser::tests::parse_delay_s ... ok
[INFO] [stdout] test parser::parser::tests::parse_for_array ... ok
[INFO] [stdout] test parser::parser::tests::parse_for_range ... ok
[INFO] [stdout] test parser::parser::tests::parse_function_data_params ... ok
[INFO] [stdout] test parser::parser::tests::parse_function_device_param_give ... ok
[INFO] [stdout] test parser::parser::tests::parse_function_mixed_params ... ok
[INFO] [stdout] test parser::parser::tests::parse_function_no_params ... ok
[INFO] [stdout] test parser::parser::tests::parse_is_not_operator ... ok
[INFO] [stdout] test parser::parser::tests::parse_run_with_every ... ok
[INFO] [stdout] test parser::parser::tests::parse_is_operator ... ok
[INFO] [stdout] test parser::parser::tests::parse_run_with_loop ... ok
[INFO] [stdout] test parser::parser::tests::parse_simple_define ... ok
[INFO] [stdout] test parser::parser::tests::parse_toggle ... ok
[INFO] [stdout] test parser::parser::tests::parse_turn_high ... ok
[INFO] [stdout] test parser::parser::tests::parse_variable_declaration ... ok
[INFO] [stdout] test parser::parser::tests::parse_void_call ... ok
[INFO] [stdout] test semantic::declaration_collector::declaration_collector_tests::collects_define_as_device_type ... ok
[INFO] [stdout] test semantic::declaration_collector::declaration_collector_tests::collects_variable_declaration ... ok
[INFO] [stdout] test semantic::declaration_collector::declaration_collector_tests::create_without_define_is_error ... ok
[INFO] [stdout] test semantic::device_checker::device_checker_tests::duplicate_pin_is_error ... ok
[INFO] [stdout] test semantic::device_checker::device_checker_tests::unique_pins_no_error ... ok
[INFO] [stdout] test semantic::diagnostic::tests::diagnostic_display_includes_message ... ok
[INFO] [stdout] test semantic::diagnostic::tests::error_has_correct_severity ... ok
[INFO] [stdout] test semantic::diagnostic::tests::warning_has_correct_severity ... ok
[INFO] [stdout] test semantic::ownership::ownership_tests::give_marks_device_unavailable ... ok
[INFO] [stdout] test semantic::ownership::ownership_tests::lend_write_detection ... ok
[INFO] [stdout] test semantic::semantic_integration_tests::percentage_out_of_range_is_error ... ok
[INFO] [stdout] test semantic::semantic_integration_tests::assign_to_constant_is_error ... ok
[INFO] [stdout] test semantic::ownership::ownership_tests::non_lend_write_is_allowed ... ok
[INFO] [stdout] test semantic::semantic_integration_tests::undefined_variable_is_reported ... ok
[INFO] [stdout] test semantic::symbol_table::tests::available_device_resolves_cleanly ... ok
[INFO] [stdout] test semantic::symbol_table::tests::given_away_device_is_unavailable ... ok
[INFO] [stdout] test semantic::symbol_table::tests::resolve_undefined_emits_error ... ok
[INFO] [stdout] test semantic::symbol_table::tests::duplicate_in_same_scope_is_error ... ok
[INFO] [stdout] test semantic::symbol_table::tests::shadowing_is_allowed ... ok
[INFO] [stdout] test semantic::symbol_table::tests::symbol_not_visible_after_scope_pop ... ok
[INFO] [stdout] test semantic::symbol_table::tests::symbol_visible_in_inner_scope ... ok
[INFO] [stdout] test semantic::symbol_table::tests::typo_no_suggestion_for_very_different_names ... ok
[INFO] [stdout] test semantic::symbol_table::tests::typo_suggestion_within_distance_2 ... ok
[INFO] [stdout] test semantic::type_checker::tests::is_numeric_returns_correct_results ... ok
[INFO] [stdout] test semantic::type_checker::tests::literal_type_inference ... ok
[INFO] [stdout] test semantic::type_checker::tests::numeric_promotion_decimal_wins ... ok
[INFO] [stdout] test semantic::type_checker::tests::numeric_promotion_integers ... ok
[INFO] [stdout] test semantic::type_checker::tests::types_compatible_byte_and_integer ... ok
[INFO] [stdout] test semantic::type_checker::tests::types_compatible_decimal_and_percentage ... ok
[INFO] [stdout] test semantic::type_checker::tests::types_incompatible_string_and_integer ... ok
[INFO] [stdout] test ast::nodes::tests::literal_type_names ... ok
[INFO] [stdout] test codegen::rust_emit::rust_emit_tests::emit_literal_decimal ... ok
[INFO] [stdout] test lexer::lexer::tests::duration_ms_uppercase ... ok
[INFO] [stdout] test lexer::token::tests::describe_produces_readable_strings ... ok
[INFO] [stdout] test lexer::token::tests::is_keyword_returns_false_for_non_keywords ... ok
[INFO] [stdout] test parser::parser::tests::parse_create_with_pull ... ok
[INFO] [stdout] test parser::parser::tests::else_if_produces_helpful_error ... FAILED
[INFO] [stdout] test parser::parser::tests::complete_mini_program_parses_cleanly ... FAILED
[INFO] [stdout] test parser::parser::tests::parse_create_multi_pin_named ... FAILED
[INFO] [stdout] test lexer::lexer::tests::punctuation_tokens ... FAILED
[INFO] [stdout] test parser::parser::tests::parse_inline_if_expression ... FAILED
[INFO] [stdout] test semantic::symbol_table::tests::lookup_is_case_insensitive ... FAILED
[INFO] [stdout] test semantic::semantic_integration_tests::well_formed_program_has_no_errors ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- parser::parser::tests::else_if_produces_helpful_error stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'parser::parser::tests::else_if_produces_helpful_error' (107) panicked at compiler/src/parser/parser.rs:1793:9:
[INFO] [stdout] expected error containing 'ELSE IF is not supported', got:
[INFO] [stdout] [test.fe:1:19] ParseError: expected '{', found '='
[INFO] [stdout] [test.fe:1:38] ParseError: unexpected token 'ELSE' — expected a statement
[INFO] [stdout] [test.fe:1:48] ParseError: expected '{', found '='
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5c6d608741f8 - std[d054f6f42beb1baa]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5c6d608741f8 - std[d054f6f42beb1baa]::backtrace_rs::backtrace::trace_unsynchronized::<std[d054f6f42beb1baa]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5c6d608741f8 - std[d054f6f42beb1baa]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5c6d608741f8 - <<std[d054f6f42beb1baa]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[5a1c3e9896636f3a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5c6d6088a1ca - <core[5a1c3e9896636f3a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5c6d6088a1ca - core[5a1c3e9896636f3a]::fmt::write
[INFO] [stdout]    6:     0x5c6d60878a12 - std[d054f6f42beb1baa]::io::default_write_fmt::<alloc[154f689e5dd3bae5]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/io/mod.rs:622:11
[INFO] [stdout]    7:     0x5c6d60878a12 - <alloc[154f689e5dd3bae5]::vec::Vec<u8> as std[d054f6f42beb1baa]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/io/mod.rs:1977:13
[INFO] [stdout]    8:     0x5c6d608533a6 - <std[d054f6f42beb1baa]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5c6d608533a6 - std[d054f6f42beb1baa]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5c6d6086c799 - std[d054f6f42beb1baa]::panicking::default_hook
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5c6d608087fc - <alloc[154f689e5dd3bae5]::boxed::Box<dyn for<'a, 'b> core[5a1c3e9896636f3a]::ops::function::Fn<(&'a std[d054f6f42beb1baa]::panic::PanicHookInfo<'b>,), Output = ()> + core[5a1c3e9896636f3a]::marker::Send + core[5a1c3e9896636f3a]::marker::Sync> as core[5a1c3e9896636f3a]::ops::function::Fn<(&std[d054f6f42beb1baa]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   12:     0x5c6d608087fc - test[fad20673b750c10e]::test_main_inner::<test[fad20673b750c10e]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5c6d6086c952 - <alloc[154f689e5dd3bae5]::boxed::Box<dyn for<'a, 'b> core[5a1c3e9896636f3a]::ops::function::Fn<(&'a std[d054f6f42beb1baa]::panic::PanicHookInfo<'b>,), Output = ()> + core[5a1c3e9896636f3a]::marker::Send + core[5a1c3e9896636f3a]::marker::Sync> as core[5a1c3e9896636f3a]::ops::function::Fn<(&std[d054f6f42beb1baa]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   14:     0x5c6d6086c952 - std[d054f6f42beb1baa]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5c6d60853462 - std[d054f6f42beb1baa]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5c6d6084adf9 - std[d054f6f42beb1baa]::sys::backtrace::__rust_end_short_backtrace::<std[d054f6f42beb1baa]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5c6d6085417d - __rustc[7ab284efd7f33ea8]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5c6d6088a95c - core[5a1c3e9896636f3a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5c6d607afaae - ferrum[72f55e6a37fe33fa]::parser::parser::tests::has_error
[INFO] [stdout]                                at /opt/rustwide/workdir/compiler/src/parser/parser.rs:1793:9
[INFO] [stdout]   20:     0x5c6d607b2b8e - ferrum[72f55e6a37fe33fa]::parser::parser::tests::else_if_produces_helpful_error
[INFO] [stdout]                                at /opt/rustwide/workdir/compiler/src/parser/parser.rs:2157:9
[INFO] [stdout]   21:     0x5c6d607ae717 - ferrum[72f55e6a37fe33fa]::parser::parser::tests::else_if_produces_helpful_error::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/compiler/src/parser/parser.rs:2156:40
[INFO] [stdout]   22:     0x5c6d607deab6 - <ferrum[72f55e6a37fe33fa]::parser::parser::tests::else_if_produces_helpful_error::{closure#0} as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5c6d607fb8db - <fn() -> core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5c6d607fb8db - test[fad20673b750c10e]::__rust_begin_short_backtrace::<core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>, fn() -> core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:724:18
[INFO] [stdout]   25:     0x5c6d60809155 - test[fad20673b750c10e]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:747:74
[INFO] [stdout]   26:     0x5c6d60809155 - <core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x5c6d60809155 - std[d054f6f42beb1baa]::panicking::catch_unwind::do_call::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}>, core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x5c6d60809155 - std[d054f6f42beb1baa]::panicking::catch_unwind::<core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>, core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x5c6d60809155 - std[d054f6f42beb1baa]::panic::catch_unwind::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}>, core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x5c6d60809155 - test[fad20673b750c10e]::run_test_in_process
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:747:27
[INFO] [stdout]   31:     0x5c6d60809155 - test[fad20673b750c10e]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:668:43
[INFO] [stdout]   32:     0x5c6d60803cb4 - test[fad20673b750c10e]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:698:41
[INFO] [stdout]   33:     0x5c6d60803cb4 - std[d054f6f42beb1baa]::sys::backtrace::__rust_begin_short_backtrace::<test[fad20673b750c10e]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x5c6d6080c1d2 - std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked::<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   35:     0x5c6d6080c1d2 - <core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x5c6d6080c1d2 - std[d054f6f42beb1baa]::panicking::catch_unwind::do_call::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x5c6d6080c1d2 - std[d054f6f42beb1baa]::panicking::catch_unwind::<(), core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x5c6d6080c1d2 - std[d054f6f42beb1baa]::panic::catch_unwind::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x5c6d6080c1d2 - std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked::<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   40:     0x5c6d6080c1d2 - <std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1} as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x5c6d60873b5f - <alloc[154f689e5dd3bae5]::boxed::Box<dyn core[5a1c3e9896636f3a]::ops::function::FnOnce<(), Output = ()> + core[5a1c3e9896636f3a]::marker::Send> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2277:9
[INFO] [stdout]   42:     0x5c6d60873b5f - <std[d054f6f42beb1baa]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   43:     0x71107b9efaa4 - <unknown>
[INFO] [stdout]   44:     0x71107ba7ca64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- parser::parser::tests::complete_mini_program_parses_cleanly stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'parser::parser::tests::complete_mini_program_parses_cleanly' (105) panicked at compiler/src/parser/parser.rs:1782:9:
[INFO] [stdout] unexpected parse errors:
[INFO] [stdout] [test.fe:6:1] ParseError: expected 'RUN' section — every Ferrum program must have a RUN block
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5c6d608741f8 - std[d054f6f42beb1baa]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5c6d608741f8 - std[d054f6f42beb1baa]::backtrace_rs::backtrace::trace_unsynchronized::<std[d054f6f42beb1baa]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5c6d608741f8 - std[d054f6f42beb1baa]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5c6d608741f8 - <<std[d054f6f42beb1baa]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[5a1c3e9896636f3a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5c6d6088a1ca - <core[5a1c3e9896636f3a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5c6d6088a1ca - core[5a1c3e9896636f3a]::fmt::write
[INFO] [stdout]    6:     0x5c6d60878a12 - std[d054f6f42beb1baa]::io::default_write_fmt::<alloc[154f689e5dd3bae5]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/io/mod.rs:622:11
[INFO] [stdout]    7:     0x5c6d60878a12 - <alloc[154f689e5dd3bae5]::vec::Vec<u8> as std[d054f6f42beb1baa]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/io/mod.rs:1977:13
[INFO] [stdout]    8:     0x5c6d608533a6 - <std[d054f6f42beb1baa]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5c6d608533a6 - std[d054f6f42beb1baa]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5c6d6086c799 - std[d054f6f42beb1baa]::panicking::default_hook
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5c6d608087fc - <alloc[154f689e5dd3bae5]::boxed::Box<dyn for<'a, 'b> core[5a1c3e9896636f3a]::ops::function::Fn<(&'a std[d054f6f42beb1baa]::panic::PanicHookInfo<'b>,), Output = ()> + core[5a1c3e9896636f3a]::marker::Send + core[5a1c3e9896636f3a]::marker::Sync> as core[5a1c3e9896636f3a]::ops::function::Fn<(&std[d054f6f42beb1baa]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   12:     0x5c6d608087fc - test[fad20673b750c10e]::test_main_inner::<test[fad20673b750c10e]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5c6d6086c952 - <alloc[154f689e5dd3bae5]::boxed::Box<dyn for<'a, 'b> core[5a1c3e9896636f3a]::ops::function::Fn<(&'a std[d054f6f42beb1baa]::panic::PanicHookInfo<'b>,), Output = ()> + core[5a1c3e9896636f3a]::marker::Send + core[5a1c3e9896636f3a]::marker::Sync> as core[5a1c3e9896636f3a]::ops::function::Fn<(&std[d054f6f42beb1baa]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   14:     0x5c6d6086c952 - std[d054f6f42beb1baa]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5c6d60853462 - std[d054f6f42beb1baa]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5c6d6084adf9 - std[d054f6f42beb1baa]::sys::backtrace::__rust_end_short_backtrace::<std[d054f6f42beb1baa]::panicking::panic_handler::{closure#0}, !>
[INFO] [stderr] error: test failed, to rerun pass `-p ferrum --bin ferrum`
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5c6d6085417d - __rustc[7ab284efd7f33ea8]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5c6d6088a95c - core[5a1c3e9896636f3a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5c6d607af7ca - ferrum[72f55e6a37fe33fa]::parser::parser::tests::ok
[INFO] [stdout]                                at /opt/rustwide/workdir/compiler/src/parser/parser.rs:1782:9
[INFO] [stdout]   20:     0x5c6d607b2ef1 - ferrum[72f55e6a37fe33fa]::parser::parser::tests::complete_mini_program_parses_cleanly
[INFO] [stdout]                                at /opt/rustwide/workdir/compiler/src/parser/parser.rs:2206:17
[INFO] [stdout]   21:     0x5c6d607ae7d7 - ferrum[72f55e6a37fe33fa]::parser::parser::tests::complete_mini_program_parses_cleanly::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/compiler/src/parser/parser.rs:2166:46
[INFO] [stdout]   22:     0x5c6d607debb6 - <ferrum[72f55e6a37fe33fa]::parser::parser::tests::complete_mini_program_parses_cleanly::{closure#0} as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5c6d607fb8db - <fn() -> core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5c6d607fb8db - test[fad20673b750c10e]::__rust_begin_short_backtrace::<core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>, fn() -> core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:724:18
[INFO] [stdout]   25:     0x5c6d60809155 - test[fad20673b750c10e]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:747:74
[INFO] [stdout]   26:     0x5c6d60809155 - <core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x5c6d60809155 - std[d054f6f42beb1baa]::panicking::catch_unwind::do_call::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}>, core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x5c6d60809155 - std[d054f6f42beb1baa]::panicking::catch_unwind::<core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>, core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x5c6d60809155 - std[d054f6f42beb1baa]::panic::catch_unwind::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}>, core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x5c6d60809155 - test[fad20673b750c10e]::run_test_in_process
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:747:27
[INFO] [stdout]   31:     0x5c6d60809155 - test[fad20673b750c10e]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:668:43
[INFO] [stdout]   32:     0x5c6d60803cb4 - test[fad20673b750c10e]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:698:41
[INFO] [stdout]   33:     0x5c6d60803cb4 - std[d054f6f42beb1baa]::sys::backtrace::__rust_begin_short_backtrace::<test[fad20673b750c10e]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x5c6d6080c1d2 - std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked::<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   35:     0x5c6d6080c1d2 - <core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x5c6d6080c1d2 - std[d054f6f42beb1baa]::panicking::catch_unwind::do_call::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x5c6d6080c1d2 - std[d054f6f42beb1baa]::panicking::catch_unwind::<(), core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x5c6d6080c1d2 - std[d054f6f42beb1baa]::panic::catch_unwind::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x5c6d6080c1d2 - std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked::<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   40:     0x5c6d6080c1d2 - <std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1} as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x5c6d60873b5f - <alloc[154f689e5dd3bae5]::boxed::Box<dyn core[5a1c3e9896636f3a]::ops::function::FnOnce<(), Output = ()> + core[5a1c3e9896636f3a]::marker::Send> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2277:9
[INFO] [stdout]   42:     0x5c6d60873b5f - <std[d054f6f42beb1baa]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   43:     0x71107b9efaa4 - <unknown>
[INFO] [stdout]   44:     0x71107ba7ca64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- parser::parser::tests::parse_create_multi_pin_named stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'parser::parser::tests::parse_create_multi_pin_named' (117) panicked at compiler/src/parser/parser.rs:1782:9:
[INFO] [stdout] unexpected parse errors:
[INFO] [stdout] [test.fe:3:36] ParseError: expected 'PIN', found 'OUTPUT'
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5c6d608741f8 - std[d054f6f42beb1baa]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5c6d608741f8 - std[d054f6f42beb1baa]::backtrace_rs::backtrace::trace_unsynchronized::<std[d054f6f42beb1baa]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5c6d608741f8 - std[d054f6f42beb1baa]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5c6d608741f8 - <<std[d054f6f42beb1baa]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[5a1c3e9896636f3a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5c6d6088a1ca - <core[5a1c3e9896636f3a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5c6d6088a1ca - core[5a1c3e9896636f3a]::fmt::write
[INFO] [stdout]    6:     0x5c6d60878a12 - std[d054f6f42beb1baa]::io::default_write_fmt::<alloc[154f689e5dd3bae5]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/io/mod.rs:622:11
[INFO] [stdout]    7:     0x5c6d60878a12 - <alloc[154f689e5dd3bae5]::vec::Vec<u8> as std[d054f6f42beb1baa]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/io/mod.rs:1977:13
[INFO] [stdout]    8:     0x5c6d608533a6 - <std[d054f6f42beb1baa]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5c6d608533a6 - std[d054f6f42beb1baa]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5c6d6086c799 - std[d054f6f42beb1baa]::panicking::default_hook
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5c6d608087fc - <alloc[154f689e5dd3bae5]::boxed::Box<dyn for<'a, 'b> core[5a1c3e9896636f3a]::ops::function::Fn<(&'a std[d054f6f42beb1baa]::panic::PanicHookInfo<'b>,), Output = ()> + core[5a1c3e9896636f3a]::marker::Send + core[5a1c3e9896636f3a]::marker::Sync> as core[5a1c3e9896636f3a]::ops::function::Fn<(&std[d054f6f42beb1baa]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   12:     0x5c6d608087fc - test[fad20673b750c10e]::test_main_inner::<test[fad20673b750c10e]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5c6d6086c952 - <alloc[154f689e5dd3bae5]::boxed::Box<dyn for<'a, 'b> core[5a1c3e9896636f3a]::ops::function::Fn<(&'a std[d054f6f42beb1baa]::panic::PanicHookInfo<'b>,), Output = ()> + core[5a1c3e9896636f3a]::marker::Send + core[5a1c3e9896636f3a]::marker::Sync> as core[5a1c3e9896636f3a]::ops::function::Fn<(&std[d054f6f42beb1baa]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   14:     0x5c6d6086c952 - std[d054f6f42beb1baa]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5c6d60853462 - std[d054f6f42beb1baa]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5c6d6084adf9 - std[d054f6f42beb1baa]::sys::backtrace::__rust_end_short_backtrace::<std[d054f6f42beb1baa]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5c6d6085417d - __rustc[7ab284efd7f33ea8]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5c6d6088a95c - core[5a1c3e9896636f3a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5c6d607af7ca - ferrum[72f55e6a37fe33fa]::parser::parser::tests::ok
[INFO] [stdout]                                at /opt/rustwide/workdir/compiler/src/parser/parser.rs:1782:9
[INFO] [stdout]   20:     0x5c6d607b2a51 - ferrum[72f55e6a37fe33fa]::parser::parser::tests::parse_create_multi_pin_named
[INFO] [stdout]                                at /opt/rustwide/workdir/compiler/src/parser/parser.rs:1863:17
[INFO] [stdout]   21:     0x5c6d607ae677 - ferrum[72f55e6a37fe33fa]::parser::parser::tests::parse_create_multi_pin_named::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/compiler/src/parser/parser.rs:1856:38
[INFO] [stdout]   22:     0x5c6d607dea36 - <ferrum[72f55e6a37fe33fa]::parser::parser::tests::parse_create_multi_pin_named::{closure#0} as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5c6d607fb8db - <fn() -> core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5c6d607fb8db - test[fad20673b750c10e]::__rust_begin_short_backtrace::<core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>, fn() -> core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:724:18
[INFO] [stdout]   25:     0x5c6d60809155 - test[fad20673b750c10e]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:747:74
[INFO] [stdout]   26:     0x5c6d60809155 - <core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x5c6d60809155 - std[d054f6f42beb1baa]::panicking::catch_unwind::do_call::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}>, core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x5c6d60809155 - std[d054f6f42beb1baa]::panicking::catch_unwind::<core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>, core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x5c6d60809155 - std[d054f6f42beb1baa]::panic::catch_unwind::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}>, core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x5c6d60809155 - test[fad20673b750c10e]::run_test_in_process
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:747:27
[INFO] [stdout]   31:     0x5c6d60809155 - test[fad20673b750c10e]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:668:43
[INFO] [stdout]   32:     0x5c6d60803cb4 - test[fad20673b750c10e]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:698:41
[INFO] [stdout]   33:     0x5c6d60803cb4 - std[d054f6f42beb1baa]::sys::backtrace::__rust_begin_short_backtrace::<test[fad20673b750c10e]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x5c6d6080c1d2 - std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked::<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   35:     0x5c6d6080c1d2 - <core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x5c6d6080c1d2 - std[d054f6f42beb1baa]::panicking::catch_unwind::do_call::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x5c6d6080c1d2 - std[d054f6f42beb1baa]::panicking::catch_unwind::<(), core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x5c6d6080c1d2 - std[d054f6f42beb1baa]::panic::catch_unwind::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x5c6d6080c1d2 - std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked::<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   40:     0x5c6d6080c1d2 - <std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1} as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x5c6d60873b5f - <alloc[154f689e5dd3bae5]::boxed::Box<dyn core[5a1c3e9896636f3a]::ops::function::FnOnce<(), Output = ()> + core[5a1c3e9896636f3a]::marker::Send> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2277:9
[INFO] [stdout]   42:     0x5c6d60873b5f - <std[d054f6f42beb1baa]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   43:     0x71107b9efaa4 - <unknown>
[INFO] [stdout]   44:     0x71107ba7ca64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- lexer::lexer::tests::punctuation_tokens stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'lexer::lexer::tests::punctuation_tokens' (80) panicked at compiler/src/lexer/lexer.rs:865:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: [LBrace, RBrace, LBracket, RBracket, LParen, RParen, Comma, Colon, EqEq, Eq, Eq, Unknown('!'), Eq, Gt, Lt, Gt, Eq, Lt, Eq, Plus, Minus, Star, Slash, Eof]
[INFO] [stdout]  right: [LBrace, RBrace, LBracket, RBracket, LParen, RParen, Comma, Colon, Eq, EqEq, NotEq, Gt, Lt, GtEq, LtEq, Plus, Minus, Star, Slash, Eof]
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5c6d608741f8 - std[d054f6f42beb1baa]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5c6d608741f8 - std[d054f6f42beb1baa]::backtrace_rs::backtrace::trace_unsynchronized::<std[d054f6f42beb1baa]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5c6d608741f8 - std[d054f6f42beb1baa]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5c6d608741f8 - <<std[d054f6f42beb1baa]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[5a1c3e9896636f3a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5c6d6088a1ca - <core[5a1c3e9896636f3a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5c6d6088a1ca - core[5a1c3e9896636f3a]::fmt::write
[INFO] [stdout]    6:     0x5c6d60878a12 - std[d054f6f42beb1baa]::io::default_write_fmt::<alloc[154f689e5dd3bae5]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/io/mod.rs:622:11
[INFO] [stdout]    7:     0x5c6d60878a12 - <alloc[154f689e5dd3bae5]::vec::Vec<u8> as std[d054f6f42beb1baa]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/io/mod.rs:1977:13
[INFO] [stdout]    8:     0x5c6d608533a6 - <std[d054f6f42beb1baa]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5c6d608533a6 - std[d054f6f42beb1baa]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5c6d6086c799 - std[d054f6f42beb1baa]::panicking::default_hook
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5c6d608087fc - <alloc[154f689e5dd3bae5]::boxed::Box<dyn for<'a, 'b> core[5a1c3e9896636f3a]::ops::function::Fn<(&'a std[d054f6f42beb1baa]::panic::PanicHookInfo<'b>,), Output = ()> + core[5a1c3e9896636f3a]::marker::Send + core[5a1c3e9896636f3a]::marker::Sync> as core[5a1c3e9896636f3a]::ops::function::Fn<(&std[d054f6f42beb1baa]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   12:     0x5c6d608087fc - test[fad20673b750c10e]::test_main_inner::<test[fad20673b750c10e]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5c6d6086c952 - <alloc[154f689e5dd3bae5]::boxed::Box<dyn for<'a, 'b> core[5a1c3e9896636f3a]::ops::function::Fn<(&'a std[d054f6f42beb1baa]::panic::PanicHookInfo<'b>,), Output = ()> + core[5a1c3e9896636f3a]::marker::Send + core[5a1c3e9896636f3a]::marker::Sync> as core[5a1c3e9896636f3a]::ops::function::Fn<(&std[d054f6f42beb1baa]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   14:     0x5c6d6086c952 - std[d054f6f42beb1baa]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5c6d60853462 - std[d054f6f42beb1baa]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5c6d6084adf9 - std[d054f6f42beb1baa]::sys::backtrace::__rust_end_short_backtrace::<std[d054f6f42beb1baa]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5c6d6085417d - __rustc[7ab284efd7f33ea8]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5c6d6088a95c - core[5a1c3e9896636f3a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5c6d6088a813 - core[5a1c3e9896636f3a]::panicking::assert_failed_inner
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panicking.rs:439:17
[INFO] [stdout]   20:     0x5c6d6079c428 - core[5a1c3e9896636f3a]::panicking::assert_failed::<alloc[154f689e5dd3bae5]::vec::Vec<ferrum[72f55e6a37fe33fa]::lexer::token::Token>, alloc[154f689e5dd3bae5]::vec::Vec<ferrum[72f55e6a37fe33fa]::lexer::token::Token>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x5c6d607e2a24 - ferrum[72f55e6a37fe33fa]::lexer::lexer::tests::punctuation_tokens
[INFO] [stdout]                                at /opt/rustwide/workdir/compiler/src/lexer/lexer.rs:865:9
[INFO] [stdout]   22:     0x5c6d607e1277 - ferrum[72f55e6a37fe33fa]::lexer::lexer::tests::punctuation_tokens::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/compiler/src/lexer/lexer.rs:853:28
[INFO] [stdout]   23:     0x5c6d607dd836 - <ferrum[72f55e6a37fe33fa]::lexer::lexer::tests::punctuation_tokens::{closure#0} as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5c6d607fb8db - <fn() -> core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5c6d607fb8db - test[fad20673b750c10e]::__rust_begin_short_backtrace::<core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>, fn() -> core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:724:18
[INFO] [stdout]   26:     0x5c6d60809155 - test[fad20673b750c10e]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:747:74
[INFO] [stdout]   27:     0x5c6d60809155 - <core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x5c6d60809155 - std[d054f6f42beb1baa]::panicking::catch_unwind::do_call::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}>, core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x5c6d60809155 - std[d054f6f42beb1baa]::panicking::catch_unwind::<core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>, core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x5c6d60809155 - std[d054f6f42beb1baa]::panic::catch_unwind::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}>, core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5c6d60809155 - test[fad20673b750c10e]::run_test_in_process
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:747:27
[INFO] [stdout]   32:     0x5c6d60809155 - test[fad20673b750c10e]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:668:43
[INFO] [stdout]   33:     0x5c6d60803cb4 - test[fad20673b750c10e]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:698:41
[INFO] [stdout]   34:     0x5c6d60803cb4 - std[d054f6f42beb1baa]::sys::backtrace::__rust_begin_short_backtrace::<test[fad20673b750c10e]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5c6d6080c1d2 - std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked::<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x5c6d6080c1d2 - <core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x5c6d6080c1d2 - std[d054f6f42beb1baa]::panicking::catch_unwind::do_call::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x5c6d6080c1d2 - std[d054f6f42beb1baa]::panicking::catch_unwind::<(), core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x5c6d6080c1d2 - std[d054f6f42beb1baa]::panic::catch_unwind::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5c6d6080c1d2 - std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked::<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x5c6d6080c1d2 - <std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1} as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5c6d60873b5f - <alloc[154f689e5dd3bae5]::boxed::Box<dyn core[5a1c3e9896636f3a]::ops::function::FnOnce<(), Output = ()> + core[5a1c3e9896636f3a]::marker::Send> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2277:9
[INFO] [stdout]   43:     0x5c6d60873b5f - <std[d054f6f42beb1baa]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x71107b9efaa4 - <unknown>
[INFO] [stdout]   45:     0x71107ba7ca64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- parser::parser::tests::parse_inline_if_expression stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'parser::parser::tests::parse_inline_if_expression' (129) panicked at compiler/src/parser/parser.rs:1782:9:
[INFO] [stdout] unexpected parse errors:
[INFO] [stdout] [test.fe:1:66] ParseError: unexpected token string "yes" — expected a statement
[INFO] [stdout] [test.fe:1:81] ParseError: unexpected token string "no" — expected a statement
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5c6d608741f8 - std[d054f6f42beb1baa]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5c6d608741f8 - std[d054f6f42beb1baa]::backtrace_rs::backtrace::trace_unsynchronized::<std[d054f6f42beb1baa]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5c6d608741f8 - std[d054f6f42beb1baa]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5c6d608741f8 - <<std[d054f6f42beb1baa]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[5a1c3e9896636f3a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5c6d6088a1ca - <core[5a1c3e9896636f3a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5c6d6088a1ca - core[5a1c3e9896636f3a]::fmt::write
[INFO] [stdout]    6:     0x5c6d60878a12 - std[d054f6f42beb1baa]::io::default_write_fmt::<alloc[154f689e5dd3bae5]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/io/mod.rs:622:11
[INFO] [stdout]    7:     0x5c6d60878a12 - <alloc[154f689e5dd3bae5]::vec::Vec<u8> as std[d054f6f42beb1baa]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/io/mod.rs:1977:13
[INFO] [stdout]    8:     0x5c6d608533a6 - <std[d054f6f42beb1baa]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5c6d608533a6 - std[d054f6f42beb1baa]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5c6d6086c799 - std[d054f6f42beb1baa]::panicking::default_hook
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5c6d608087fc - <alloc[154f689e5dd3bae5]::boxed::Box<dyn for<'a, 'b> core[5a1c3e9896636f3a]::ops::function::Fn<(&'a std[d054f6f42beb1baa]::panic::PanicHookInfo<'b>,), Output = ()> + core[5a1c3e9896636f3a]::marker::Send + core[5a1c3e9896636f3a]::marker::Sync> as core[5a1c3e9896636f3a]::ops::function::Fn<(&std[d054f6f42beb1baa]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   12:     0x5c6d608087fc - test[fad20673b750c10e]::test_main_inner::<test[fad20673b750c10e]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5c6d6086c952 - <alloc[154f689e5dd3bae5]::boxed::Box<dyn for<'a, 'b> core[5a1c3e9896636f3a]::ops::function::Fn<(&'a std[d054f6f42beb1baa]::panic::PanicHookInfo<'b>,), Output = ()> + core[5a1c3e9896636f3a]::marker::Send + core[5a1c3e9896636f3a]::marker::Sync> as core[5a1c3e9896636f3a]::ops::function::Fn<(&std[d054f6f42beb1baa]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   14:     0x5c6d6086c952 - std[d054f6f42beb1baa]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5c6d60853462 - std[d054f6f42beb1baa]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5c6d6084adf9 - std[d054f6f42beb1baa]::sys::backtrace::__rust_end_short_backtrace::<std[d054f6f42beb1baa]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5c6d6085417d - __rustc[7ab284efd7f33ea8]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5c6d6088a95c - core[5a1c3e9896636f3a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5c6d607af7ca - ferrum[72f55e6a37fe33fa]::parser::parser::tests::ok
[INFO] [stdout]                                at /opt/rustwide/workdir/compiler/src/parser/parser.rs:1782:9
[INFO] [stdout]   20:     0x5c6d607b2252 - ferrum[72f55e6a37fe33fa]::parser::parser::tests::parse_inline_if_expression
[INFO] [stdout]                                at /opt/rustwide/workdir/compiler/src/parser/parser.rs:2111:17
[INFO] [stdout]   21:     0x5c6d607ae587 - ferrum[72f55e6a37fe33fa]::parser::parser::tests::parse_inline_if_expression::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/compiler/src/parser/parser.rs:2110:36
[INFO] [stdout]   22:     0x5c6d607de8f6 - <ferrum[72f55e6a37fe33fa]::parser::parser::tests::parse_inline_if_expression::{closure#0} as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5c6d607fb8db - <fn() -> core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5c6d607fb8db - test[fad20673b750c10e]::__rust_begin_short_backtrace::<core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>, fn() -> core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:724:18
[INFO] [stdout]   25:     0x5c6d60809155 - test[fad20673b750c10e]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:747:74
[INFO] [stdout]   26:     0x5c6d60809155 - <core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x5c6d60809155 - std[d054f6f42beb1baa]::panicking::catch_unwind::do_call::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}>, core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x5c6d60809155 - std[d054f6f42beb1baa]::panicking::catch_unwind::<core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>, core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x5c6d60809155 - std[d054f6f42beb1baa]::panic::catch_unwind::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}>, core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x5c6d60809155 - test[fad20673b750c10e]::run_test_in_process
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:747:27
[INFO] [stdout]   31:     0x5c6d60809155 - test[fad20673b750c10e]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:668:43
[INFO] [stdout]   32:     0x5c6d60803cb4 - test[fad20673b750c10e]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:698:41
[INFO] [stdout]   33:     0x5c6d60803cb4 - std[d054f6f42beb1baa]::sys::backtrace::__rust_begin_short_backtrace::<test[fad20673b750c10e]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x5c6d6080c1d2 - std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked::<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   35:     0x5c6d6080c1d2 - <core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x5c6d6080c1d2 - std[d054f6f42beb1baa]::panicking::catch_unwind::do_call::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x5c6d6080c1d2 - std[d054f6f42beb1baa]::panicking::catch_unwind::<(), core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x5c6d6080c1d2 - std[d054f6f42beb1baa]::panic::catch_unwind::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x5c6d6080c1d2 - std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked::<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   40:     0x5c6d6080c1d2 - <std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1} as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x5c6d60873b5f - <alloc[154f689e5dd3bae5]::boxed::Box<dyn core[5a1c3e9896636f3a]::ops::function::FnOnce<(), Output = ()> + core[5a1c3e9896636f3a]::marker::Send> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2277:9
[INFO] [stdout]   42:     0x5c6d60873b5f - <std[d054f6f42beb1baa]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   43:     0x71107b9efaa4 - <unknown>
[INFO] [stdout]   44:     0x71107ba7ca64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- semantic::symbol_table::tests::lookup_is_case_insensitive stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'semantic::symbol_table::tests::lookup_is_case_insensitive' (157) panicked at compiler/src/semantic/symbol_table.rs:472:9:
[INFO] [stdout] assertion failed: st.lookup("STATUSLED").is_some()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5c6d608741f8 - std[d054f6f42beb1baa]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5c6d608741f8 - std[d054f6f42beb1baa]::backtrace_rs::backtrace::trace_unsynchronized::<std[d054f6f42beb1baa]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5c6d608741f8 - std[d054f6f42beb1baa]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5c6d608741f8 - <<std[d054f6f42beb1baa]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[5a1c3e9896636f3a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5c6d6088a1ca - <core[5a1c3e9896636f3a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5c6d6088a1ca - core[5a1c3e9896636f3a]::fmt::write
[INFO] [stdout]    6:     0x5c6d60878a12 - std[d054f6f42beb1baa]::io::default_write_fmt::<alloc[154f689e5dd3bae5]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/io/mod.rs:622:11
[INFO] [stdout]    7:     0x5c6d60878a12 - <alloc[154f689e5dd3bae5]::vec::Vec<u8> as std[d054f6f42beb1baa]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/io/mod.rs:1977:13
[INFO] [stdout]    8:     0x5c6d608533a6 - <std[d054f6f42beb1baa]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5c6d608533a6 - std[d054f6f42beb1baa]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5c6d6086c799 - std[d054f6f42beb1baa]::panicking::default_hook
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5c6d608087fc - <alloc[154f689e5dd3bae5]::boxed::Box<dyn for<'a, 'b> core[5a1c3e9896636f3a]::ops::function::Fn<(&'a std[d054f6f42beb1baa]::panic::PanicHookInfo<'b>,), Output = ()> + core[5a1c3e9896636f3a]::marker::Send + core[5a1c3e9896636f3a]::marker::Sync> as core[5a1c3e9896636f3a]::ops::function::Fn<(&std[d054f6f42beb1baa]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   12:     0x5c6d608087fc - test[fad20673b750c10e]::test_main_inner::<test[fad20673b750c10e]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5c6d6086c952 - <alloc[154f689e5dd3bae5]::boxed::Box<dyn for<'a, 'b> core[5a1c3e9896636f3a]::ops::function::Fn<(&'a std[d054f6f42beb1baa]::panic::PanicHookInfo<'b>,), Output = ()> + core[5a1c3e9896636f3a]::marker::Send + core[5a1c3e9896636f3a]::marker::Sync> as core[5a1c3e9896636f3a]::ops::function::Fn<(&std[d054f6f42beb1baa]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   14:     0x5c6d6086c952 - std[d054f6f42beb1baa]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5c6d60853494 - std[d054f6f42beb1baa]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5c6d6084adf9 - std[d054f6f42beb1baa]::sys::backtrace::__rust_end_short_backtrace::<std[d054f6f42beb1baa]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5c6d6085417d - __rustc[7ab284efd7f33ea8]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5c6d6088a95c - core[5a1c3e9896636f3a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5c6d6088a922 - core[5a1c3e9896636f3a]::panicking::panic
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x5c6d607f1623 - ferrum[72f55e6a37fe33fa]::semantic::symbol_table::tests::lookup_is_case_insensitive
[INFO] [stdout]                                at /opt/rustwide/workdir/compiler/src/semantic/symbol_table.rs:472:9
[INFO] [stdout]   21:     0x5c6d607e9767 - ferrum[72f55e6a37fe33fa]::semantic::symbol_table::tests::lookup_is_case_insensitive::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/compiler/src/semantic/symbol_table.rs:468:36
[INFO] [stdout]   22:     0x5c6d607df276 - <ferrum[72f55e6a37fe33fa]::semantic::symbol_table::tests::lookup_is_case_insensitive::{closure#0} as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5c6d607fb8db - <fn() -> core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5c6d607fb8db - test[fad20673b750c10e]::__rust_begin_short_backtrace::<core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>, fn() -> core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:724:18
[INFO] [stdout]   25:     0x5c6d60809155 - test[fad20673b750c10e]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:747:74
[INFO] [stdout]   26:     0x5c6d60809155 - <core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x5c6d60809155 - std[d054f6f42beb1baa]::panicking::catch_unwind::do_call::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}>, core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x5c6d60809155 - std[d054f6f42beb1baa]::panicking::catch_unwind::<core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>, core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x5c6d60809155 - std[d054f6f42beb1baa]::panic::catch_unwind::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}>, core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x5c6d60809155 - test[fad20673b750c10e]::run_test_in_process
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:747:27
[INFO] [stdout]   31:     0x5c6d60809155 - test[fad20673b750c10e]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:668:43
[INFO] [stdout]   32:     0x5c6d60803cb4 - test[fad20673b750c10e]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:698:41
[INFO] [stdout]   33:     0x5c6d60803cb4 - std[d054f6f42beb1baa]::sys::backtrace::__rust_begin_short_backtrace::<test[fad20673b750c10e]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x5c6d6080c1d2 - std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked::<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   35:     0x5c6d6080c1d2 - <core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x5c6d6080c1d2 - std[d054f6f42beb1baa]::panicking::catch_unwind::do_call::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x5c6d6080c1d2 - std[d054f6f42beb1baa]::panicking::catch_unwind::<(), core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x5c6d6080c1d2 - std[d054f6f42beb1baa]::panic::catch_unwind::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x5c6d6080c1d2 - std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked::<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   40:     0x5c6d6080c1d2 - <std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1} as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x5c6d60873b5f - <alloc[154f689e5dd3bae5]::boxed::Box<dyn core[5a1c3e9896636f3a]::ops::function::FnOnce<(), Output = ()> + core[5a1c3e9896636f3a]::marker::Send> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2277:9
[INFO] [stdout]   42:     0x5c6d60873b5f - <std[d054f6f42beb1baa]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   43:     0x71107b9efaa4 - <unknown>
[INFO] [stdout]   44:     0x71107ba7ca64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- semantic::semantic_integration_tests::well_formed_program_has_no_errors stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'semantic::semantic_integration_tests::well_formed_program_has_no_errors' (153) panicked at compiler/src/semantic/mod.rs:87:14:
[INFO] [stdout] parse failed in semantic integration test
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5c6d608741f8 - std[d054f6f42beb1baa]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5c6d608741f8 - std[d054f6f42beb1baa]::backtrace_rs::backtrace::trace_unsynchronized::<std[d054f6f42beb1baa]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5c6d608741f8 - std[d054f6f42beb1baa]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5c6d608741f8 - <<std[d054f6f42beb1baa]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[5a1c3e9896636f3a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5c6d6088a1ca - <core[5a1c3e9896636f3a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5c6d6088a1ca - core[5a1c3e9896636f3a]::fmt::write
[INFO] [stdout]    6:     0x5c6d60878a12 - std[d054f6f42beb1baa]::io::default_write_fmt::<alloc[154f689e5dd3bae5]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/io/mod.rs:622:11
[INFO] [stdout]    7:     0x5c6d60878a12 - <alloc[154f689e5dd3bae5]::vec::Vec<u8> as std[d054f6f42beb1baa]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/io/mod.rs:1977:13
[INFO] [stdout]    8:     0x5c6d608533a6 - <std[d054f6f42beb1baa]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5c6d608533a6 - std[d054f6f42beb1baa]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5c6d6086c799 - std[d054f6f42beb1baa]::panicking::default_hook
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5c6d608087fc - <alloc[154f689e5dd3bae5]::boxed::Box<dyn for<'a, 'b> core[5a1c3e9896636f3a]::ops::function::Fn<(&'a std[d054f6f42beb1baa]::panic::PanicHookInfo<'b>,), Output = ()> + core[5a1c3e9896636f3a]::marker::Send + core[5a1c3e9896636f3a]::marker::Sync> as core[5a1c3e9896636f3a]::ops::function::Fn<(&std[d054f6f42beb1baa]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   12:     0x5c6d608087fc - test[fad20673b750c10e]::test_main_inner::<test[fad20673b750c10e]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5c6d6086c952 - <alloc[154f689e5dd3bae5]::boxed::Box<dyn for<'a, 'b> core[5a1c3e9896636f3a]::ops::function::Fn<(&'a std[d054f6f42beb1baa]::panic::PanicHookInfo<'b>,), Output = ()> + core[5a1c3e9896636f3a]::marker::Send + core[5a1c3e9896636f3a]::marker::Sync> as core[5a1c3e9896636f3a]::ops::function::Fn<(&std[d054f6f42beb1baa]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   14:     0x5c6d6086c952 - std[d054f6f42beb1baa]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5c6d60853462 - std[d054f6f42beb1baa]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5c6d6084adf9 - std[d054f6f42beb1baa]::sys::backtrace::__rust_end_short_backtrace::<std[d054f6f42beb1baa]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5c6d6085417d - __rustc[7ab284efd7f33ea8]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5c6d6088a95c - core[5a1c3e9896636f3a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5c6d6088a654 - core[5a1c3e9896636f3a]::panicking::panic_display::<&str>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panicking.rs:259:5
[INFO] [stdout]   20:     0x5c6d6088a654 - core[5a1c3e9896636f3a]::option::expect_failed
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/option.rs:2261:5
[INFO] [stdout]   21:     0x5c6d607ceb86 - <core[5a1c3e9896636f3a]::option::Option<ferrum[72f55e6a37fe33fa]::ast::nodes::Program>>::expect
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/option.rs:968:21
[INFO] [stdout]   22:     0x5c6d607c9444 - ferrum[72f55e6a37fe33fa]::semantic::semantic_integration_tests::analyse_src
[INFO] [stdout]                                at /opt/rustwide/workdir/compiler/src/semantic/mod.rs:87:14
[INFO] [stdout]   23:     0x5c6d607c9916 - ferrum[72f55e6a37fe33fa]::semantic::semantic_integration_tests::well_formed_program_has_no_errors
[INFO] [stdout]                                at /opt/rustwide/workdir/compiler/src/semantic/mod.rs:118:22
[INFO] [stdout]   24:     0x5c6d607c0717 - ferrum[72f55e6a37fe33fa]::semantic::semantic_integration_tests::well_formed_program_has_no_errors::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/compiler/src/semantic/mod.rs:92:43
[INFO] [stdout]   25:     0x5c6d607dd2f6 - <ferrum[72f55e6a37fe33fa]::semantic::semantic_integration_tests::well_formed_program_has_no_errors::{closure#0} as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x5c6d607fb8db - <fn() -> core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   27:     0x5c6d607fb8db - test[fad20673b750c10e]::__rust_begin_short_backtrace::<core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>, fn() -> core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:724:18
[INFO] [stdout]   28:     0x5c6d60809155 - test[fad20673b750c10e]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:747:74
[INFO] [stdout]   29:     0x5c6d60809155 - <core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   30:     0x5c6d60809155 - std[d054f6f42beb1baa]::panicking::catch_unwind::do_call::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}>, core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:581:40
[INFO] [stdout]   31:     0x5c6d60809155 - std[d054f6f42beb1baa]::panicking::catch_unwind::<core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>, core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:544:19
[INFO] [stdout]   32:     0x5c6d60809155 - std[d054f6f42beb1baa]::panic::catch_unwind::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}>, core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panic.rs:359:14
[INFO] [stdout]   33:     0x5c6d60809155 - test[fad20673b750c10e]::run_test_in_process
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:747:27
[INFO] [stdout]   34:     0x5c6d60809155 - test[fad20673b750c10e]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:668:43
[INFO] [stdout]   35:     0x5c6d60803cb4 - test[fad20673b750c10e]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:698:41
[INFO] [stdout]   36:     0x5c6d60803cb4 - std[d054f6f42beb1baa]::sys::backtrace::__rust_begin_short_backtrace::<test[fad20673b750c10e]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   37:     0x5c6d6080c1d2 - std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked::<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   38:     0x5c6d6080c1d2 - <core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   39:     0x5c6d6080c1d2 - std[d054f6f42beb1baa]::panicking::catch_unwind::do_call::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:581:40
[INFO] [stdout]   40:     0x5c6d6080c1d2 - std[d054f6f42beb1baa]::panicking::catch_unwind::<(), core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:544:19
[INFO] [stdout]   41:     0x5c6d6080c1d2 - std[d054f6f42beb1baa]::panic::catch_unwind::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panic.rs:359:14
[INFO] [stdout]   42:     0x5c6d6080c1d2 - std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked::<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   43:     0x5c6d6080c1d2 - <std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1} as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   44:     0x5c6d60873b5f - <alloc[154f689e5dd3bae5]::boxed::Box<dyn core[5a1c3e9896636f3a]::ops::function::FnOnce<(), Output = ()> + core[5a1c3e9896636f3a]::marker::Send> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2277:9
[INFO] [stdout]   45:     0x5c6d60873b5f - <std[d054f6f42beb1baa]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   46:     0x71107b9efaa4 - <unknown>
[INFO] [stdout]   47:     0x71107ba7ca64 - clone
[INFO] [stdout]   48:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     lexer::lexer::tests::punctuation_tokens
[INFO] [stdout]     parser::parser::tests::complete_mini_program_parses_cleanly
[INFO] [stdout]     parser::parser::tests::else_if_produces_helpful_error
[INFO] [stdout]     parser::parser::tests::parse_create_multi_pin_named
[INFO] [stdout]     parser::parser::tests::parse_inline_if_expression
[INFO] [stdout]     semantic::semantic_integration_tests::well_formed_program_has_no_errors
[INFO] [stdout]     semantic::symbol_table::tests::lookup_is_case_insensitive
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 146 passed; 7 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "6a7d14b57bb81005081023ac403b925df56a9119b6d7cf834d8ed59ba1d57c00", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6a7d14b57bb81005081023ac403b925df56a9119b6d7cf834d8ed59ba1d57c00", kill_on_drop: false }`
[INFO] [stdout] 6a7d14b57bb81005081023ac403b925df56a9119b6d7cf834d8ed59ba1d57c00
